Incorrect activity instance trees and history for active subprocess compensation handlers

XMLWordPrintable

    • Type: Bug Report
    • Resolution: Unresolved
    • Priority: L3 - Default
    • None
    • Affects Version/s: None
    • Component/s: engine
    • None

      This problem occurs whenever there is more than one scoped compensation handler (e.g. a subprocess compensation handler, a default handler (where we descend into a scope)). The example diagrams show this with multi-instance but this is not multi-instance-specific.

      Detailed description (example newDiagram_2.png):
      When throwing compensation, the activity tree should look like this:

      Process Definition
        ThrowCompensate
        SubProcess#MiBody
          SubProcess
            CompensationHandlerTask
          SubProcess
            CompensationHandlerTask
          SubProcess
            CompensationHandlerTask
      

      but it looks like

      Process Definition
        ThrowCompensate
        SubProcess#MiBody
          SubProcess
            CompensationHandlerTask
            CompensationHandlerTask
            CompensationHandlerTask
      

      Reason: When throwing compensation, we don't create concurrent executions for the execution tree that is created as a child tree of the compensation-throwing execution. However, these are required for storing activity instance IDs in the cases described here.

        This is the controller panel for Smart Panels app

          1. newDiagram_1.png
            newDiagram_1.png
            13 kB
          2. newDiagram_2.png
            newDiagram_2.png
            12 kB
          3. newDiagram_3.png
            newDiagram_3.png
            15 kB

              Assignee:
              Unassigned
              Reporter:
              Thorben Lindhauer
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: