Hi, we are running multiple service tasks within a subprocess in parallel. One of the tasks errors out and ends the subprocess. This subprocess has an error boundary event that picks up execution from this point.
The error we are seeing (among many others) is that the variables are written to the database after Activiti has expected them to be deleted. This causes an error deleting the execution because the ACT_FK_VAR_EXE constraint is violated. This causes Activiti to repeat a service task attached to the boundary event over and over. In our case, this task sends a notification so the user keeps getting spammed. The only solution seems to be to delete the variables from the database.
It appears that Activiti is not waiting for all activities within the subprocess to complete, or get to a safe state before passing execution to the error boundary event.
Or perhaps you can see an error in our logic?
Created a Jira with unit test attached. There is a unit test that closely matches our BPMN which causes the error occassionally. There is another test with the same logic, but without the second parallel branch. This never seems to break. There is also a simplified version of the failure BPMN which still causes errors, although less frequently.
Thanks. This issue is causing all kinds of problems for us. We just saw another one where the subprocess errors out but an execution on a wait for signal node did not end.