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

    • 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

          For Gerrit Dashboard: MB-43047
          # Subject Branch Project Status CR V

            Activity

            jeelan.poola Jeelan Poola created issue -
            jeelan.poola Jeelan Poola made changes -
            Field Original Value New Value
            Link This issue Clones MB-40407 [ MB-40407 ]
            jeelan.poola Jeelan Poola made changes -
            Link This issue blocks MB-40511 [ MB-40511 ]
            jeelan.poola Jeelan Poola made changes -
            Link This issue is a backport of MB-39163 [ MB-39163 ]
            jeelan.poola Jeelan Poola made changes -
            Link This issue relates to CBSE-8204 [ CBSE-8204 ]
            jeelan.poola Jeelan Poola made changes -
            Fix Version/s 6.0.5 [ 16729 ]
            Fix Version/s 6.5.2 [ 17223 ]
            jeelan.poola Jeelan Poola made changes -
            Link This issue Clones MB-40407 [ MB-40407 ]
            wayne Wayne Siu made changes -
            Labels approved-for-6.0.5 approved-for-6.5.2
            wayne Wayne Siu made changes -
            Link This issue blocks MB-40511 [ MB-40511 ]
            wayne Wayne Siu made changes -
            Link This issue blocks MB-42583 [ MB-42583 ]
            Hide
            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

            Show
            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
            Hide
            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

            Show
            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
            amit.kulkarni Amit Kulkarni made changes -
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Resolved [ 5 ]
            hemant.rajput Hemant Rajput made changes -
            Assignee Amit Kulkarni [ amit.kulkarni ] Hemant Rajput [ hemant.rajput ]
            hemant.rajput Hemant Rajput made changes -
            Assignee Hemant Rajput [ hemant.rajput ] Mihir Kamdar [ mihir.kamdar ]
            Hide
            mihir.kamdar Mihir Kamdar added a comment -

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

            Show
            mihir.kamdar Mihir Kamdar added a comment - Closing as there are no regressions in system test or functional tests.
            mihir.kamdar Mihir Kamdar made changes -
            Status Resolved [ 5 ] Closed [ 6 ]
            arunkumar Arunkumar Senthilnathan made changes -
            Labels approved-for-6.5.2 approved-for-6.5.2 releasenote

              People

              Assignee:
              mihir.kamdar Mihir Kamdar
              Reporter:
              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