Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-42204

FollyExecutorPool: Intermittent hang during unregisterTaskable() + concurrent schedule()

    XMLWordPrintable

Details

    • Triaged
    • 1
    • No

    Description

      When using FollyExecutorPool there is an intermittent hang in CV tests during bucket shutdown. This results in the test suite timing out.

      The hang occurs when a bucket is being shutdown and we attempt to schedule a new task via ExecutorPool::schedule().

      The problem is caused by the way FollyExecutorPool::unregisterTaskable is implemented:

      1. Mark all scheduled tasks as cancelled.
      2. Waits for all tasks to complete cancellation (be removed from taskOwners).

      However, if another, new task is attempted to be scheduled between (1) and (2) then it effectively "misses" the cancellation, and (2) will wait forever.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              drigby Dave Rigby (Inactive)
              drigby Dave Rigby (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty