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

    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.

        Activity

        No work has yet been logged on this issue.

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development