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

Synchronous interruption of active event-throwing activities does not cancel their execution

XMLWordPrintable

    • Icon: Bug Report Bug Report
    • Resolution: Unresolved
    • Icon: L3 - Default L3 - Default
    • None
    • None
    • engine
    • None

      Various events (e.g. signal, escalation) that synchronously cancel the triggering activity do not actually stop execution at that activity.

      For example, see the attached process model.

      Desired behavior:

      • when "In Subprocess Task" is completed, then only task "Event Subprocess Task" should be active

      Current behavior:

      • when "In Subprocess Task" is completed, both "Event Subprocess Task" and "After Subprocess Task" are active
      • the execution tree is in an invalid state: there is the process instance (A) and a scope execution (B) for the event subprocess. B executes "Event Subprocess Task", A executes "After Subprocess Task"

      Similar cases can be constructed with escalation events (though a little less obvious) and message events (though sending messages within one process instances is not foreseen by BPMN).

      Root cause:

      • the decision criterion whether to continue execution after throwing an event is either not existent (signal events) or too weak (escalation events)

      Implementation notes:

      • the Execution#isEnded flag should be checked before continuing execution; perhaps there is a good way to do this in a cross-cutting manner

      Test case: https://github.com/camunda/camunda-bpm-platform/commit/9a8b6326a4abca1e22ea3dd7052f297b3446e677

        This is the controller panel for Smart Panels app

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

                Created:
                Updated: