-
Bug
-
Resolution: Done
-
Major
-
7.10.1.GA, 7.11.0.GA, 7.11.1.GA
-
False
-
False
-
Release Notes
-
-
-
-
-
-
ER1
-
?
-
-
2021 Week 40-42 (from Oct 4)
Due to the fix for JBPM-9623, the ProcessInstance is no longer retrieved in readOnly mode when process variables are fetched. This can easily lead to an OptimisticLockException:
2021-10-05 10:25:43,755 ERROR [org.hibernate.internal.ExceptionMapperStandardImpl] (default task-4) HHH000346: Error during managed flush [Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) : [org.jbp m.persistence.processinstance.ProcessInstanceInfo#2463608]] 2021-10-05 10:25:43,755 WARN [com.arjuna.ats.arjuna] (default task-4) ARJUNA012125: TwoPhaseCoordinator.beforeCompletion - failed for SynchronizationImple< 0:ffff0a6240ee:5e975dfe:615c0808:84e3, org.wildfly.transaction.client.AbstractTrans action$AssociatingSynchronization@3f0df3e6 >: javax.persistence.OptimisticLockException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) : [org.jbpm.persistence.processinstance.ProcessInstanceInfo# 2463608] at org.hibernate.internal.ExceptionConverterImpl.wrapStaleStateException(ExceptionConverterImpl.java:226) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:93) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188) at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1478) ... at org.drools.core.command.impl.CommandBasedStatefulKnowledgeSession.execute(CommandBasedStatefulKnowledgeSession.java:544) at org.jbpm.kie.services.impl.ProcessServiceImpl.getProcessInstanceVariable(ProcessServiceImpl.java:531) at org.kie.server.services.jbpm.ProcessServiceBase.getProcessInstanceVariable(ProcessServiceBase.java:336) at org.kie.server.remote.rest.jbpm.ProcessResource.getProcessInstanceVariable(ProcessResource.java:686)
As this call does not update any entities, it should fetch the ProcessInstance in readOnly mode to avoid the update to the SessionInfo object.
- is cloned by
-
JBPM-9917 OptimisticLockException in ProcessServiceImpl.getProcessInstanceVariable
- Resolved