-
Bug Report
-
Resolution: Unresolved
-
L3 - Default
-
None
-
7.10.20, 7.14.0, 7.13.1, 7.12.7, 7.11.14
-
None
-
None
Given
- Thread t1 deletes process definition x in version 1 (x1)
- Thread t2 deletes process definition x in version 2 (x2)
- Thread t1 already executed the command so that the thread is about to flush and commit the DB changes
Scenario
- t2 determines new latest process definition -> x1 is considered to be the new latest process definition
- t2 deletes x2
- t2 starts to ensure consistency with respect to the new latest process definition of x1
- t2 resolve the x1 from the cache
- t2 makes sure that existing event subscriptions get persisted eventually
- t1 flushes and commits -> The process definition got deleted from the database and got removed from the cache
- t2 flushes and commits -> The process definition got deleted from the database and got removed from the cache
Observed behavior
- The process definition x1 got deleted
- The process definition x2 got deleted
- But there exists an event subscription in the table ACT_RU_EVENT_SUBSCR pointing to x1
- When somebody now tries to deploy a process with the same message name, then that deployment will fail
Expected behavior
t2 fails with an Optimistic Locking Exception