Can't reassociate immutable proxy to sesssion using LockMode.NONE

Description

Hello,

Occasionally but not always I get a weird exception when I attempt to associate a detached proxy of an immutable (ie. read only) entity to the persistence context using LockMode.NONE. I should note that it doesn't always occur but sufficiently that I can somewhat reproduce it every hundreth or so lock() invocations.

Here is the stack trace:

2011-03-18 02:18:30.703 [TransactionSubscriber] SEVERE com.eads.impact.appli.impl.mip.oigmgr - Fatal database error
com.eads.impact.base.impl.coredb.hibernate.ProxyDatabaseException: Unable to lock the object: ObjectType_$$_javassist_29 @40264c[id=29000000000000000001] with lock mode: NONE
at com.eads.impact.base.impl.coredb.DefaultPersistenceService.lock(DefaultPersistenceService.java:444)
at com.eads.impact.base.impl.coredb.HibernateDatabaseService.lock(HibernateDatabaseService.java:671)
at com.eads.impact.appli.impl.mip.oigmgr.gis.ObjectItemGisElement.processObjectItemType(ObjectItemGisElement.java:597)
at com.eads.impact.appli.impl.mip.oigmgr.gis.ObjectItemGisElement.processObjectItemType(ObjectItemGisElement.java:556)
at com.eads.impact.appli.impl.mip.oigmgr.ContextLayer.processDynamicPendingContextUpdates(ContextLayer.java:1280)
at com.eads.impact.appli.impl.mip.oigmgr.OigLayerDatabaseListener.flush(OigLayerDatabaseListener.java:382)
at com.eads.impact.base.impl.coredb.DatabaseListenerManager.notifyDatabaseListeners(DatabaseListenerManager.java:237)
at com.eads.impact.base.impl.coredb.cluster.TransactionSubscriber.run(TransactionSubscriber.java:89)
Caused by: org.hibernate.TransientObjectException: Instance was not associated with this persistence context
at org.hibernate.engine.StatefulPersistenceContext.isReadOnly(StatefulPersistenceContext.java:1344)
at org.hibernate.engine.StatefulPersistenceContext.setReadOnly(StatefulPersistenceContext.java:1355)
at org.hibernate.proxy.AbstractLazyInitializer.setReadOnly(AbstractLazyInitializer.java:288)
at org.hibernate.proxy.AbstractLazyInitializer.setSession(AbstractLazyInitializer.java:134)
at org.hibernate.engine.StatefulPersistenceContext.reassociateProxy(StatefulPersistenceContext.java:573)
at org.hibernate.engine.StatefulPersistenceContext.unproxyAndReassociate(StatefulPersistenceContext.java:618)
at org.hibernate.event.def.DefaultLockEventListener.onLock(DefaultLockEventListener.java:67)
at org.hibernate.impl.SessionImpl.fireLock(SessionImpl.java:774)
at org.hibernate.impl.SessionImpl.fireLock(SessionImpl.java:766)
at org.hibernate.impl.SessionImpl.access$600(SessionImpl.java:156)
at org.hibernate.impl.SessionImpl$LockRequestImpl.lock(SessionImpl.java:2369)
at com.eads.impact.base.impl.coredb.DefaultPersistenceService.lock(DefaultPersistenceService.java:428)
... 7 more

The bug is quite odd because it is telling me that I need to associate the entity with my session but that is what I'm trying to do! Thanks for any feedback.

Activity

Brett MeyerMarch 3, 2014 at 3:40 PM

Bulk rejecting issues lacking a test case or recent response.

Brett MeyerDecember 19, 2013 at 10:31 PM

Note: In an attempt to clean up the HHH JIRA, we will be rejecting any ticket that sits in the "Awaiting Test Case" state for 2-3 months with no response. So, if this issue is critical to you, please attach a reproducing test case ASAP. Thanks!

Brett MeyerOctober 31, 2013 at 11:59 AM

Please attach a test case that reproduces this issue – thanks!

Rejected

Details

Assignee

Reporter

Components

Affects versions

Priority

Created March 20, 2011 at 7:34 PM
Updated March 3, 2014 at 3:40 PM
Resolved March 3, 2014 at 3:40 PM