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.

        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: