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

asyncAfter with execution listeners creates infinite loop

    XMLWordPrintable

    Details

    • Type: Bug Report
    • Status: Closed
    • Priority: L3 - Default
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 7.2.0, 7.2.0-alpha6
    • Component/s: engine
    • Labels:
      None

      Description

      Using asyncAfter on any element while having execution listeners creates an infinite loop of job creation and execution in the atomic operation PvmAtomicOperationTransitionNotifyListenerTake.

      Hint at code:
      Consider PvmAtomicOperationTransitionNotifyListenerTake#execute
      1. If execution listeners are present, the execution is called to execute the atomic operation again (line 61)
      2. execution finds that the operation is async and creates another job
      3. when job and execution are persisted, the execution listener index isn't stored in the database
      4. on next execution of the job, the same sequence is executed again, i.e. the same execution listener called, job persisted, etc.

      related forum post: https://groups.google.com/forum/#!topic/camunda-bpm-users/Ifo9D9IFsVk

      Reproduction steps:
      a process with async after and an execution listener that is executed on transition take.

        Attachments

          Activity

            People

            Assignee:
            meyer Daniel Meyer
            Reporter:
            thorben.lindhauer Thorben Lindhauer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: