Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-3580

Consolidate process instance modification implementation and PVM

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: L3 - Default L3 - Default
    • 7.3.0
    • None
    • engine
    • None

      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

            [CAM-3580] Consolidate process instance modification implementation and PVM

            Thorben Lindhauer created issue -
            Thorben Lindhauer made changes -
            Rank New: Ranked higher
            Thorben Lindhauer made changes -
            Description New: 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)
            Thorben Lindhauer made changes -
            Description Original: 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) New: 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

            Especially for the second idea, we have to ensure backwards compatibility
            Thorben Lindhauer made changes -
            Description Original: 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

            Especially for the second idea, we have to ensure backwards compatibility
            New: 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_testStartBeforeCancelEndEvent

            Especially for the second idea, we have to ensure backwards compatibility
            Thorben Lindhauer made changes -
            Description Original: 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_testStartBeforeCancelEndEvent

            Especially for the second idea, we have to ensure backwards compatibility
            New: 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
            Thorben Lindhauer made changes -
            Link New: This issue is related to CAM-3574 [ CAM-3574 ]
            Thorben Lindhauer made changes -
            Link New: This issue is related to CAM-3589 [ CAM-3589 ]
            Thorben Lindhauer made changes -
            Link New: This issue is related to CAM-3566 [ CAM-3566 ]
            Thorben Lindhauer made changes -
            Link New: This issue is related to CAM-3572 [ CAM-3572 ]
            Thorben Lindhauer made changes -
            Link New: This issue is related to CAM-3571 [ CAM-3571 ]

              thorben.lindhauer Thorben Lindhauer
              thorben.lindhauer Thorben Lindhauer
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: