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

External tasks are not unlocked in case of orphaned async fetch and lock requests

    XMLWordPrintable

Details

    Description

      Steps to reproduce

      1. A task executor sends an async 'fetch and lock' request to the REST API with an asyncResponseTimeout
      2. The REST API queues the request as no external tasks are available to fetch and lock; The connection is kept alive
      3. The task executor does not wait for the async response and cancels the connection
      4. An external task instance is started

      Observed behavior
      The external task instance is fetched and locked although no client is actively waiting for it.

      Expected behavior
      The fetched and locked external task is unlocked if the response could not be sent back to the client as the client-side socket has been cleaned-up by the operating system.

      Hints
      The server can only unlock the fetched and locked external task if the client-side socket has been cleaned-up by the kernel. If the client-side socket is in state FIN_WAIT_2, the server completes the cancelled request successfully. This is an operating system specific and beyond control of Camunda BPM.

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          Activity

            People

              Unassigned Unassigned
              tassilo.weidner Tassilo Weidner
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Salesforce