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

Incorrect activity instance trees and history for active subprocess compensation handlers

XMLWordPrintable

    • Icon: Bug Report Bug Report
    • Resolution: Unresolved
    • Icon: L3 - Default L3 - Default
    • None
    • None
    • 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
            13 kB
            Thorben Lindhauer
          2. newDiagram_2.png
            12 kB
            Thorben Lindhauer
          3. newDiagram_3.png
            15 kB
            Thorben Lindhauer

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

                Created:
                Updated: