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

[Backport MB-58121 to 7.2.4] Reduce stream repair wait time when bucket ownership changes

    XMLWordPrintable

Details

    • Untriaged
    • 0
    • Unknown

    Description

      • Repair stream will continue until there is nothing to repair.
      • When KV_SENDER_RESTART_VBUCKETS_RESPONSE is received, setting indexer.timekeeper.streamRepairWaitTime is used to wait for some time before calling repairStream again.
      • This can cause 1m delay for StreamBegin of vbucket
      • SessionConsistency scans with lower timeouts can fail in such cases if bucket ownership change completes quickly when timekeeper is waiting.

       

      func (tk *timekeeper) sendRestartMsg(restartMsg Message) {
      case KV_SENDER_RESTART_VBUCKETS_RESPONSE:
          ...
      waitTime := tk.config["timekeeper.streamRepairWaitTime"].Int()
      time.Sleep(time.Duration(waitTime) * time.Second)
          ...
      //check for more vbuckets in repair state
      tk.repairStream(streamId, keyspaceId)

      Attachments

        Issue Links

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

          Activity

            People

              hemant.rajput Hemant Rajput
              amit.kulkarni Amit Kulkarni
              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