AnsweredAssumed Answered

org.activiti.engine.ActivitiOptimisticLockingException: TimerEntity[] was updated by another transaction concurrently

Question asked by aman1 on Aug 2, 2013
Latest reply on Aug 9, 2013 by trademak
I get a Optimistic lock exception in the scenario where the timer expires i.e. 'waitForUpdate' takes more than 10 seconds.
At this stage the workflow continues with the next step defined with boundaryEvent 'setDefaultIfNoDispatchUpdate'.
Now the response is received after 20 seconds (say). It signals back the workflow , at this stage i get the above exception.
Anything which i am doing wrong. Thanks.
The exception trace below.

[Exception] org.activiti.engine.ActivitiOptimisticLockingException: TimerEntity[…] was updated by another transaction concurrently
org.activiti.engine.ActivitiOptimisticLockingException: TimerEntity[…] was updated by another transaction concurrently
   at org.activiti.engine.impl.db.DbSqlSession$DeletePersistentObjectOperation.execute(DbSqlSession.java:239)
   at org.activiti.engine.impl.db.DbSqlSession.flushDeletes(DbSqlSession.java:668)
   at org.activiti.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:462)
   at org.activiti.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:168)
   at org.activiti.engine.impl.interceptor.CommandContext.close(CommandContext.java:115)
   at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:70)
   at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:42)
   at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
   at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:40)
   at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:31)
   at org.activiti.engine.impl.RuntimeServiceImpl.signal(RuntimeServiceImpl.java:173)






Outcomes