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

[Backport MB-39163 to 6.5.2] Avoid possible deadlock in removeListener in gometa leader

    XMLWordPrintable

Details

    • Untriaged
    • 1
    • Unknown

    Description

      Whenever a listener is being removed from the leader, a notification is sent to leader's change channel. This is done while holding a lock. If the channel is full, the function will block here.

      On the other side, if leaderServer is processing a notification on leader's change channel, It will call GetActiveEnsembleSize which also attempts to take same lock (which is held by removeListener), and hence leading to a deadlock.

      Attachments

        Issue Links

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

          Activity

            Build couchbase-server-6.5.2-6614 contains gometa commit 473c58e with commit message:
            MB-43047: Increase size of the change notification channel in leader

            build-team Couchbase Build Team added a comment - Build couchbase-server-6.5.2-6614 contains gometa commit 473c58e with commit message: MB-43047 : Increase size of the change notification channel in leader

            Build couchbase-server-6.5.2-6614 contains gometa commit 7dd2d14 with commit message:
            MB-43047: Avoid deadlock in leader if changech is full

            build-team Couchbase Build Team added a comment - Build couchbase-server-6.5.2-6614 contains gometa commit 7dd2d14 with commit message: MB-43047 : Avoid deadlock in leader if changech is full
            mihir.kamdar Mihir Kamdar added a comment -

            Closing as there are no regressions in system test or functional tests.

            mihir.kamdar Mihir Kamdar added a comment - Closing as there are no regressions in system test or functional tests.

            People

              mihir.kamdar Mihir Kamdar
              jeelan.poola Jeelan Poola
              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