The method DbOperationManager#sortByReferences uses the cached entity state to compute the flush ordering. This need not necessarily reflect the state in the database.
Example:
Assume a persistent execution structure a <- b <- c
In one transaction:
1. remove b such that new tree is a <- c (can happen when concurrency ends and a concurrent parent is removed)
2. Remove a and c
The above-mentioned method now takes into account the relationship from a <- c, so the relation of c to b is ignored and the flushed DELETEs may be ordered incorrectly
When fixing this, please re-add the failing test cases of CAM-3453
This is the controller panel for Smart Panels app
- is related to
-
CAM-4385 Using engine configuration isDbEntityCacheReuseEnabled shows non-transactional behavior
- Open
-
CAM-4285 Activity Instance Tree is not in sync while execute a compensation event subprocess
- Closed
-
CAM-3578 I can modify a process instance's execution state with multi instance & loops
- Closed
-
CAM-3580 Consolidate process instance modification implementation and PVM
- Closed
- links to