-
Bug
-
Resolution: Unresolved
-
Major
-
jBPM 4.4
Given a process and subprocess with the following characteristics:
- A fork node that splits execution into two parallel paths
- A corresponding join node with multiplicity=1, indicating that execution should continue when the node is reached from either of the parallel branches
- At least one of the branches invokes a sub-process
The expected behavior is that if either branch completes, execution should continue from the join node and all pending activities on the other branch should be deleted.
However, in the case where the sub-process branch is waiting for task completion, and the task on the other branch is completed, the task completion call fails with a database constraint violation: ERROR: update or delete on table "jbpm4_execution" violates foreign key constraint "fk_exec_superexec" on table "jbpm4_execution"
This works as expected when no sub-processes are involved, i.e. if both branches are just composed of tasks in the main process. It also works as expected if the sub-process branch is the one that completes first.