[jboss-user] [jBPM] - Could not synchronize database state with session:org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)

Krisv W do-not-reply at jboss.com
Wed Apr 24 22:30:02 EDT 2013


Krisv W [https://community.jboss.org/people/gang2007] created the discussion

"Could not synchronize database state with session:org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)"

To view the discussion, visit: https://community.jboss.org/message/810150#810150

--------------------------------------------------------------
Hi,everybody!
I have a process with two User Task Nodes. When completing the first one by excuting “client.complete(taskId, userId, contentData);”, the console shows as follows. But the second one has started for its state is Reserved in the database table Task . From the console info, it seems the reason is that anther transaction has updated the record of ProcessInstanceInfo. But I do not know what it is, who can tell me? And No idea how to fix it.  Please help :( 
Thanks in advance.

> Hibernate: update ProcessInstanceInfo set OPTLOCK=?, processId=?, startDate=?, lastReadDate=?, lastModificationDate=?, state=?, processInstanceByteArray=? where InstanceId=? and OPTLOCK=?
> 2013-4-25 2:02:37 org.hibernate.event.def.AbstractFlushingEventListener performExecutions
> 严重: 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.persistence.processinstance.ProcessInstanceInfo#1]
>     at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1782)
>     at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2425)
>     at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2325)
>     at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2625)
>     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:1028)
>     at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:366)
>     at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504)
>     at bitronix.tm.BitronixTransaction.fireBeforeCompletionEvent(BitronixTransaction.java:478)
>     at bitronix.tm.BitronixTransaction.commit(BitronixTransaction.java:193)
>     at bitronix.tm.BitronixTransactionManager.commit(BitronixTransactionManager.java:120)
>     at org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:179)
>     at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:371)
>     at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
>     at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler$TaskCompletedHandler.handleCompletedTask(GenericHTWorkItemHandler.java:219)
>     at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler$TaskCompletedHandler$1.run(GenericHTWorkItemHandler.java:187)
>     at java.lang.Thread.run(Thread.java:619)
> 2013-4-25 2:02:37 org.drools.persistence.jta.JtaTransactionManager commit
> 警告: Unable to commit transaction
> javax.persistence.OptimisticLockException: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.persistence.processinstance.ProcessInstanceInfo#1]
>     at org.hibernate.ejb.AbstractEntityManagerImpl.wrapStaleStateException(AbstractEntityManagerImpl.java:630)
>     at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:588)
>     at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:513)
>     at bitronix.tm.BitronixTransaction.fireBeforeCompletionEvent(BitronixTransaction.java:478)
>     at bitronix.tm.BitronixTransaction.commit(BitronixTransaction.java:193)
>     at bitronix.tm.BitronixTransactionManager.commit(BitronixTransactionManager.java:120)
>     at org.drools.persistence.jta.JtaTransactionManager.commit(JtaTransactionManager.java:179)
>     at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:371)
>     at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)
>     at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler$TaskCompletedHandler.handleCompletedTask(GenericHTWorkItemHandler.java:219)
>     at org.jbpm.process.workitem.wsht.GenericHTWorkItemHandler$TaskCompletedHandler$1.run(GenericHTWorkItemHandler.java:187)
>     at java.lang.Thread.run(Thread.java:619)
> Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.persistence.processinstance.ProcessInstanceInfo#1]
>     at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1782)
>     at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2425)
>     at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2325)
>     at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2625)
>     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:1028)
>     at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:366)
>     at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504)
>     ... 9 more
> 2013-4-25 2:02:37 org.drools.persistence.SingleSessionCommandService rollbackTransaction
--------------------------------------------------------------

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

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20130424/6ef0aaf0/attachment-0001.html 


More information about the jboss-user mailing list