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

BucketManager::forEach should not require exclusive access to the buckets

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 7.2.1
    • 7.1.4, 7.1.0, 7.1.1, 7.1.2, 7.2.0, 7.1.3, 7.2.1, 7.1.5
    • couchbase-bucket
    • Untriaged
    • 0
    • Unknown

    Description

      A number of threads/paths now make use of BucketManager::forEach and the exclusive lock inside forEach (all_buckets) means those threads end up serialised/blocked. If the callback given to forEach is slow, this leads to issues, for example the mc_time callback which runs on the accept thread will be blocked (as it has code using forEach), delaying new connections.

      We should make forEach use a read lock

      Attachments

        Issue Links

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

          Activity

            People

              jwalker Jim Walker
              jwalker Jim Walker
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty