-
Bug Report
-
Resolution: Unresolved
-
L3 - Default
-
None
-
7.10.3
-
None
Please see the attached process model.
Steps to reproduce
- A process instance of the parent process is started
- The call activity is executed
- A process instance of the child process is started
- Inside the child process the Throwing Intermediate Escalation Event is executed
- A concurrent execution in the parent process is spawned since the non-interrupting Boundary Catch Escalation Event is triggered
- Thread 1 starts to execute the End Event of the child process
- The execution tree is read from the database and cached
- In Thread 2: The End Event of the parent process instance after the boundary event is executed asynchronously
- This leads to the compaction of the execution tree since it is not concurrent anymore
- The execution of the End Event in Thread 1 advances which results in dispatching the delayed variable events
- The execution tree is restored from the database but the cached parentId does not exist anymore since the parent was deleted from the database in the course of the compaction (See 6.)
Observed behavior
- A ProcessEngineException with the message Cannot resolve parent with id '{}' of execution '{}', perhaps it was deleted in the meantime is thrown
- The job that failed with the exception is not retried
Expected behavior
- An OptimisticLockingException is thrown
- The job is retried
This ticket was migrated to github: https://github.com/camunda/camunda-bpm-platform/issues/2281. Please use this link for any future references and continue any discussion there.