Task #258 (closed)
Newly set quantum strategy fails on flush.
Reported by: | jburel | Owned by: | jamoore |
---|---|---|---|
Priority: | critical | Milestone: | 3.0-M3 |
Component: | Services | Version: | 3.0-M3 |
Keywords: | sessions,flushing,hibernate,stateful,iteration2 | Cc: | cxallan |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description
Crash when setting the new quantum strategy i.e. a new bit resolution.
Below the error message:Caused by:
ome.conditions.InternalException?: Wrapped Exception: (org.springframework.orm.hibernate3.HibernateSystemException?):
not-null property references a null or transient value: ome.model.display.QuantumDef?.details.owner; nested exception is org.hibernate.PropertyValueException?: not-null property references a null or transient value: ome.model.display.QuantumDef?.details.owner
at org.springframework.orm.hibernate3.SessionFactoryUtils?.convertHibernateAccessException(SessionFactoryUtils?.java:654)
Change History (4)
comment:1 Changed 18 years ago by jburel
comment:2 Changed 18 years ago by jmoore
- Keywords sessions flushing hibernate stateful iteration2 added
- Milestone changed from Unscheduled to 3.0-M3
- Status changed from new to assigned
- Summary changed from RE: Quantum strategy to Newly set quantum strategy fails on flush.
- Version changed from 3.0-M1 to 3.0-M3
This is being caused by furtive flushings of the stateful bean. It shouldn't happen. Period. Will fix.
comment:3 Changed 18 years ago by jmoore
- Cc callan added
- Reporter changed from anonymous to jburel
- Resolution set to fixed
- Status changed from assigned to closed
r837 fixes. Some of this comes from not being able to test the rendering bean from trunk (#218). In general, the stateful session handling needs work, and only time and testing will test.
What this fix does is changes the use of FlushMode.NEVER (which Hibernate kindly deprecated from under us) to FlushMode.COMMIT, and added a check in EventHandler to not call flush if the interceptor joinpoint is a StatefulServiceInterface implementation. (Having that logic in the handlers is typically valid. Written up as #262)
comment:4 Changed 18 years ago by jmoore
r1039 updates the FlushMode? to MANUAL (NEVER is deprecated) and makes fixes for Spring 2.0 (#238), which handle the FlushMode?'s differently (especially now with JTA -- #427)
Oops forgot to log in before entering ticket ;-)