see which parts of the implementation of CAM-3453 and the likes should be pushed further into the PVM and make certain code parts obsolete (e.g. pvm atomic operation that creates concurrent executions)
Further refactorings to consider that are now hacked around in the modification command:
- PvmExecutionImpl#cancelScope should leave the current activity instance when the 'this' execution actually executes an activity
- non-leaf executions should never have a non-null activity id; this is currently not the case for parallel gateway forks; furthermore, code in ScopeUtil relies in part on the activities of executions but appears to not very robust
- ScopeUtil#findScopeExecutionForScope MUST be fixed or else you cannot reliably start activities in a transaction subprocess; cf test case org.camunda.bpm.engine.test.api.runtime.ProcessInstanceModificationEventTest.FAILING_testStartBeforeCancelEndEventConcurrent
Especially for the second idea, we have to ensure backwards compatibility
This is the controller panel for Smart Panels app
- is related to
-
CAM-3566 Activity Instance Tree is inconsistent for event subprocess on different requests
- Closed
-
CAM-3571 Delete cascade of scope activities triggers execution listeners with wrong executions
- Closed
-
CAM-3572 ArrayIndexOutOfBoundsException in GetActivityInstanceCmd.initActivityInstanceTree
- Closed
-
CAM-3574 Activity Instance Tree broken with subprocess and concurrent tasks
- Closed
-
CAM-3589 Event scope executions should not be part of the activity instance tree
- Closed
-
CAM-3604 Foreign Key Constraint errors due to incorrect flush ordering
- Closed
-
CAM-3613 RuntimeService#deleteProcessInstance should not invoke custom TaskListeners
- Closed