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

Avoid possible deadlock in removeListener in gometa leader

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 6.5.0, 6.0.0, 6.0.1, 6.0.2, 6.0.3, 6.0.4, 6.5.1
    • Fix Version/s: 7.0.0
    • Component/s: secondary-index
    • Labels:
      None
    • Triage:
      Untriaged
    • Story Points:
      1
    • Is this a Regression?:
      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

            Hide
            build-team Couchbase Build Team added a comment -

            Build couchbase-server-7.0.0-2089 contains gometa commit 88bbf68 with commit message:
            MB-39163: Avoid deadlock in leader if changech is full

            Show
            build-team Couchbase Build Team added a comment - Build couchbase-server-7.0.0-2089 contains gometa commit 88bbf68 with commit message: MB-39163 : Avoid deadlock in leader if changech is full
            Hide
            build-team Couchbase Build Team added a comment -

            Build couchbase-server-7.0.0-2146 contains gometa commit de573e0 with commit message:
            MB-39163: Increase size of the change notification channel in leader

            Show
            build-team Couchbase Build Team added a comment - Build couchbase-server-7.0.0-2146 contains gometa commit de573e0 with commit message: MB-39163 : Increase size of the change notification channel in leader
            Hide
            mihir.kamdar Mihir Kamdar added a comment -

            Closing as there are no regressions seen in functional and system testing. No specific scenarios for functional testing possible.

            Show
            mihir.kamdar Mihir Kamdar added a comment - Closing as there are no regressions seen in functional and system testing. No specific scenarios for functional testing possible.

              People

              Assignee:
              amit.kulkarni Amit Kulkarni
              Reporter:
              amit.kulkarni Amit Kulkarni
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  PagerDuty