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

Handle race between CancelTask & OnRebalanceDoneLocked

    XMLWordPrintable

Details

    • Untriaged
    • 1
    • Unknown

    Description

      When rebalance is done (either success or failed), rebalance_service_manager calls OnRebalanceDoneLocked method. This method acquires service manager mutex, does the cleanup operations and sets m.rebalancer to nil.

      While this operation is in progress, if CancelTask() is called from ns_server, then it would wait for the service manager mutex. Once the service manager mutex is available, it would try to cancel the rebalance by calling m.rebalancer.Cancel().

      However, m.rebalancer is set to nil by OnRebalanceDoneLocked() and indexer panics in this case

      Attachments

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

        Activity

          People

            amit.kulkarni Amit Kulkarni
            varun.velamuri Varun Velamuri
            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