Yes, I have parallel gateways in the process.
The reason why I don't use 5.17.0 is that I'd rather avoid Spring 4.0 in my Maven dependencies.
Anyway, I have tried to use 5.17.0, and I got the following stack trace:
<blockcode>
13:41:34.119 ERROR [pool-1-thread-3] [ExecuteJobsRunnable] exception during job execution: ProcessInstance[18] was updated by another transaction concurrently
org.activiti.engine.ActivitiOptimisticLockingException: ProcessInstance[18] was updated by another transaction concurrently
at org.activiti.engine.impl.db.DbSqlSession.flushUpdates(DbSqlSession.java:783) ~[activiti-engine-5.17.0.jar:5.17.0]
at org.activiti.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:594) ~[activiti-engine-5.17.0.jar:5.17.0]
at org.activiti.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:211) ~[activiti-engine-5.17.0.jar:5.17.0]
at org.activiti.engine.impl.interceptor.CommandContext.close(CommandContext.java:137) ~[activiti-engine-5.17.0.jar:5.17.0]
at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:66) ~[activiti-engine-5.17.0.jar:5.17.0]
at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:47) ~[activiti-spring-5.17.0.jar:5.17.0]
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:131) ~[spring-tx-3.2.2.RELEASE.jar:3.2.2.RELEASE]
at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:45) ~[activiti-spring-5.17.0.jar:5.17.0]
at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:31) ~[activiti-engine-5.17.0.jar:5.17.0]
at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40) ~[activiti-engine-5.17.0.jar:5.17.0]
at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:35) ~[activiti-engine-5.17.0.jar:5.17.0]
at org.activiti.engine.impl.jobexecutor.ExecuteJobsRunnable.handleMultipleJobs(ExecuteJobsRunnable.java:94) [activiti-engine-5.17.0.jar:5.17.0]
at org.activiti.engine.impl.jobexecutor.ExecuteJobsRunnable.run(ExecuteJobsRunnable.java:49) [activiti-engine-5.17.0.jar:5.17.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_72]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_72]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_72]
</blockcode>
So it seems, that there is still a problem in my process.
I just started using Activiti several days ago, so maye I have some basic mistakes in my process. Is there any change since 5.8, that might cause such problems?
Thank you.
Best regards,
EDIT:
It looks like using AsyncExecutor helps with this error.
I must still investigate, why some test cases fail, but it seems, that the cause is different now.
If I just may ask for one clarification: using AsyncExecutor will not change the outcome of the process - is that right?