[jboss-dev-forums] [jBPM Development] - org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction

Siddhesh M do-not-reply at jboss.com
Mon Nov 14 12:34:46 EST 2011


Siddhesh M [http://community.jboss.org/people/siddhesh27] created the discussion

"org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction"

To view the discussion, visit: http://community.jboss.org/message/636462#636462

--------------------------------------------------------------
Hi ,

   I am using JBPM 4.3. I can see following exception in production env. 

<Nov 12, 2011 3:03:10 PM CET> <Notice> <Stdout> <BEA-000000> <12-Nov-2011 15:03:10.576 | ERROR | DispatcherThread | .AbstractFlushingEventListener | Could not synchronize database state with session
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.pvm.internal.model.op.ExecuteActivityMessage#683270098]
        at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1792)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2435)
        at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2335)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2635)
        at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
        at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
        at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
        at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
        at org.hibernate.transaction.CacheSynchronization.beforeCompletion(CacheSynchronization.java:88)
        at weblogic.transaction.internal.ServerSCInfo.doBeforeCompletion(ServerSCInfo.java:1224)
        at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1199)
        at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:118)
        at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1310)
        at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:2126)
        at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
        at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:233)
        at weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:286)
        at weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:280)
        at org.jbpm.pvm.internal.tx.JtaTransaction.commit(JtaTransaction.java:104)
        at org.jbpm.pvm.internal.tx.JtaTransactionInterceptor.executeInNewTx(JtaTransactionInterceptor.java:89)
        at org.jbpm.pvm.internal.tx.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:66)
        at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
        at org.jbpm.pvm.internal.tx.JtaRetryInterceptor.executeWithRetry(JtaRetryInterceptor.java:52)
        at org.jbpm.pvm.internal.tx.JtaRetryInterceptor.execute(JtaRetryInterceptor.java:45)

<Nov 12, 2011 3:03:10 PM CET> <Notice> <Stdout> <BEA-000000> <12-Nov-2011 15:03:10.579 | ERROR | DispatcherThread | l.jobexecutor.DispatcherThread | excep
tion in job executor thread. waiting 5000 milliseconds
org.jbpm.api.JbpmException: couldn't rollback: Transaction does not exist
        at org.jbpm.pvm.internal.tx.JtaTransaction.rollback(JtaTransaction.java:96)
        at org.jbpm.pvm.internal.tx.JtaTransactionInterceptor.executeInNewTx(JtaTransactionInterceptor.java:92)
        at org.jbpm.pvm.internal.tx.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:66)
        at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
        at org.jbpm.pvm.internal.tx.JtaRetryInterceptor.executeWithRetry(JtaRetryInterceptor.java:52)
        at org.jbpm.pvm.internal.tx.JtaRetryInterceptor.execute(JtaRetryInterceptor.java:45)
        at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
        at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
        at org.jbpm.pvm.internal.svc.SkipInterceptor.execute(SkipInterceptor.java:43)
        at org.jbpm.pvm.internal.jobexecutor.DispatcherThread.acquireJobs(DispatcherThread.java:126)
        at org.jbpm.pvm.internal.jobexecutor.DispatcherThread.run(DispatcherThread.java:67)
Caused by: java.lang.IllegalStateException: Transaction does not exist
        at weblogic.transaction.internal.TransactionManagerImpl.rollback(TransactionManagerImpl.java:301)
        at weblogic.transaction.internal.TransactionManagerImpl.rollback(TransactionManagerImpl.java:296)
        at org.jbpm.pvm.internal.tx.JtaTransaction.rollback(JtaTransaction.java:94)
        ... 10 more>


  Anybody has any clue.

  What I have noted is though above exception is comming my workflow get completed successully. What I think two different thread trying to access same data , one successufully updates the data and which is why the workflow gets completed , but the other one keeps retrying for many times.  Please let me know any solution to such race condition.

 Thanks.
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/636462#636462]

Start a new discussion in jBPM Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2035]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-dev-forums/attachments/20111114/e0035efa/attachment.html 


More information about the jboss-dev-forums mailing list