-- My Application spawns worker threads in asp.net to do some long running background work using ThreadPool.QueueUserWorkItem
-- IStatelessSession - Can't fetch entities from worker thread
-- IStatelessSession - BeginTransaction( IsolationLevel ) function is missing
-- IStatelessSession - doesn't pick up the base configuration ado.net CommandTimeout
-- IStatelessSession - IInterceptor is readonly? does/should it support interceptors or only events?
Hibernate version: v2.0.1 ga
Mapping documents: NA
Code between sessionFactory.openSession() and session.close():
Full stack trace of any exception that occurs:
NHibernate.AssertionFailure: possible non-threadsafe access to the session
at NHibernate.Engine.TwoPhaseLoad.InitializeEntity(Object entity, Boolean readOnly, ISessionImplementor session, PreLoadEvent preLoadEvent, PostLoadEvent postLoadEvent) in C:\NHibernate-2.0.1.GA-src\src\NHibernate\Engine\TwoPhaseLoad.cs:line 54
Name and version of the database you are using: SQL Server 2005 sp3
The generated SQL (show_sql=true): NA
Debug level Hibernate log excerpt:
2009-03-13 13:40:06,183 [mwalsh- 9] ERROR AppCore.Server.Auto.ThreadPool -
NHibernate.ADOException: could not execute query
[ select tblpointer0_.PointerPK as PointerPK25_, tblpointer0_.Pointer as Pointer25_, tblpointer0_.PointerAllocation1 as PointerA3_25_, tblpointer0_.PointerAllocation2 as PointerA4_25_, tblpointer0_.PointerAllocation3 as PointerA5_25_, tblpointer0_.PointerAllocation4 as PointerA6_25_, tblpointer0_.PointerAllocation5 as PointerA7_25_, tblpointer0_.PointerDestination as PointerD8_25_, tblpointer0_.PointerLocked as PointerL9_25_, tblpointer0_.PointerPercentAllocation as Pointer10_25_, tblpointer0_.PointerSequence as Pointer11_25_, tblpointer0_.PointerShared as Pointer12_25_, tblpointer0_.PointerType as Pointer13_25_, tblpointer0_.PointerUniformDistribution as Pointer14_25_, tblpointer0_.ClientFK as ClientFK25_ from S2_SPIDR_v10.dbo.tblPointer tblpointer0_ where (tblpointer0_.ClientFK=? ) ]
Positional parameters: #0>cebd4ad0-5205-4c41-bbde-008338f6841c
[SQL: select tblpointer0_.PointerPK as PointerPK25_, tblpointer0_.Pointer as Pointer25_, tblpointer0_.PointerAllocation1 as PointerA3_25_, tblpointer0_.PointerAllocation2 as PointerA4_25_, tblpointer0_.PointerAllocation3 as PointerA5_25_, tblpointer0_.PointerAllocation4 as PointerA6_25_, tblpointer0_.PointerAllocation5 as PointerA7_25_, tblpointer0_.PointerDestination as PointerD8_25_, tblpointer0_.PointerLocked as PointerL9_25_, tblpointer0_.PointerPercentAllocation as Pointer10_25_, tblpointer0_.PointerSequence as Pointer11_25_, tblpointer0_.PointerShared as Pointer12_25_, tblpointer0_.PointerType as Pointer13_25_, tblpointer0_.PointerUniformDistribution as Pointer14_25_, tblpointer0_.ClientFK as ClientFK25_ from S2_SPIDR_v10.dbo.tblPointer tblpointer0_ where (tblpointer0_.ClientFK=? )] ---> NHibernate.AssertionFailure: possible non-threadsafe access to the session
at NHibernate.Engine.TwoPhaseLoad.InitializeEntity(Object entity, Boolean readOnly, ISessionImplementor session, PreLoadEvent preLoadEvent, PostLoadEvent postLoadEvent) in C:\NHibernate-2.0.1.GA-src\src\NHibernate\Engine\TwoPhaseLoad.cs:line 54
at NHibernate.Loader.Loader.InitializeEntitiesAndCollections(IList hydratedObjects, Object resultSetId, ISessionImplementor session, Boolean readOnly) in C:\NHibernate-2.0.1.GA-src\src\NHibernate\Loader\Loader.cs:line 617
at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) in C:\NHibernate-2.0.1.GA-src\src\NHibernate\Loader\Loader.cs:line 466
at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) in C:\NHibernate-2.0.1.GA-src\src\NHibernate\Loader\Loader.cs:line 187
at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) in C:\NHibernate-2.0.1.GA-src\src\NHibernate\Loader\Loader.cs:line 1803
--- End of inner exception stack trace ---
at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) in C:\NHibernate-2.0.1.GA-src\src\NHibernate\Loader\Loader.cs:line 1812
at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters) in C:\NHibernate-2.0.1.GA-src\src\NHibernate\Loader\Loader.cs:line 1718
at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet`1 querySpaces, IType[] resultTypes) in C:\NHibernate-2.0.1.GA-src\src\NHibernate\Loader\Loader.cs:line 1712
at NHibernate.Hql.Classic.QueryTranslator.List(ISessionImplementor session, QueryParameters queryParameters) in C:\NHibernate-2.0.1.GA-src\src\NHibernate\Hql\Classic\QueryTranslator.cs:line 1286
at NHibernate.Engine.Query.HQLQueryPlan.PerformList(QueryParameters queryParameters, ISessionImplementor session, IList results) in C:\NHibernate-2.0.1.GA-src\src\NHibernate\Engine\Query\HQLQueryPlan.cs:line 226
at NHibernate.Impl.StatelessSessionImpl.List(String query, QueryParameters queryParameters, IList results) in C:\NHibernate-2.0.1.GA-src\src\NHibernate\Impl\StatelessSessionImpl.cs:line 100
at NHibernate.Impl.StatelessSessionImpl.List[T](String query, QueryParameters queryParameters) in C:\NHibernate-2.0.1.GA-src\src\NHibernate\Impl\StatelessSessionImpl.cs:line 126
at NHibernate.Impl.QueryImpl.List[T]() in C:\NHibernate-2.0.1.GA-src\src\NHibernate\Impl\QueryImpl.cs:line 95
at SPIDR.Server.Sync.PaeTecPull.S3__Pointer_ProcessBlockEvent(Int32 wimisClientID, String pointerType, PointerDataTable slice) in C:\MWalsh_Work\SPIDR\SPIDR_v10\SPIDR.Server\Sync\PaeTecPull.cs:line 415
at SPIDR.Server.Sync.PaeTecPull.S2__Pointer_ProcessBlockEvent(String clientID, String pointerType, PointerDataTable slice) in C:\MWalsh_Work\SPIDR\SPIDR_v10\SPIDR.Server\Sync\PaeTecPull.cs:line 398
at Paetec.Server.PaetecWSWrapper.AllPointers(String clientID) in C:\MWalsh_Work\SPIDR\SPIDR_v10\Paetec.Server\PaetecWSWrapper.cs:line 80
at SPIDR.Server.Sync.PaeTecPull.S1__Pointers_ThreadPerClient(Object state) in C:\MWalsh_Work\SPIDR\SPIDR_v10\SPIDR.Server\Sync\PaeTecPull.cs:line 361
at AppCore.Server.Auto.ThreadPool.__CompletionTarget(Object state) in C:\MWalsh_Work\SPIDR\SPIDR_v10\AppCore.Server\Auto\ThreadPool.cs:line 42
|