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

Concurrent fetch and lock request can fail with NullValueException

XMLWordPrintable

    • Icon: Bug Report Bug Report
    • Resolution: Duplicate
    • Icon: L2 - Critical L2 - Critical
    • None
    • 7.12.5
    • engine
    • docker

      Given:

      • Two concurrent fetch and lock requests run by threads t1 and t2

      When:

      1. The thread t1 fetches the next external tasks to lock, and the result set contains an external task ext1.
      2. The thread t2 fetches the next external tasks to lock, and the result set contains an external task ext1.
      3. t1 selects for the external task ext1 the corresponding execution successfully.
      4. t1 locks the external task ext1.
      5. t1 completes ext1 successfully.
      6. t1 deletes the external task and the corresponding execution.
      7. t2 selects for the external task ext1 the corresponding execution successfully.

      Then:

      • t2 fails with the exception Cannot find execution with id ... for external task ....

      Expected Result:

      • t2 returns successfully, excluding the failure-causing task from its list of locked tasks (like it works for optimistic locking exception cases)

      Context

      • The problem was identified during load testing on the system, when starting many processes (more than 5000 process instances)

        This is the controller panel for Smart Panels app

          1. External Request.jmx
            7 kB
            Sergei Datchenko
          2. extrernal.bpmn
            2 kB
            Sergei Datchenko

              thorben.lindhauer Thorben Lindhauer
              vshvydky Vitaliy Shvydkiy
              Votes:
              2 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: