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

Interruption in failover and then retrying failover causes future delta recovery to fail

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Unresolved
    • Major
    • None
    • 6.5.1
    • ns_server
    • None

    Description

      When failover is interrupted it is possible that a subsequent delta node recovery will not succeed (as the appropriate metadata that allows delta node recovery to proceed may not be written.) This is part of the design of delta node recovery - it is not guaranteed to work in all cases. Failover has to complete normally. In the event that delta node recovery is not possible, full recovery should be used.

      Nonetheless, there are a number of improvements that would reduce the probability of delta recovery not being possible or would improve the user experience around it. It's worth considering these. Examples are:

      1. allow users in the UI to delta recover the buckets that are delta recoverable and full recover the others
      2. change when we write the delta recovery metadata to reduce the window where the delta recovery metadata is lost (note this can't be eliminated completely)
      3. remove the need for delta recovery metadata and at the time of delta recovery ask nodes being delta recovered which vbuckets it's in possession of to determine if delta recovery is possible
      4. and there maybe more

      Attachments

        Issue Links

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

          Activity

            People

              shivani.gupta Shivani Gupta
              anusha.mathur Anusha Mathur
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty