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

Paused replication may report incorrect changes_left

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • bug-backlog
    • 6.0.x, 6.5.x, 7.0.2
    • XDCR
    • None
    • Untriaged
    • 1
    • Unknown

    Description

      When calculating changes_left for paused replication, XDCR connects to source bucket to get the high-seqnos for the vbuckets. This client is saved for later use:

      https://github.com/couchbase/goxdcr/blob/d33173509cfde5fdee067573dfda3404b504b4c8/utils/utils.go#L658

      When there are paused replications for other source bucket, the same client is re-used:

      https://github.com/couchbase/goxdcr/blob/d33173509cfde5fdee067573dfda3404b504b4c8/utils/utils.go#L646

      Causing the other replications to use the high-seqno from the wrong bucket. As a result:

      • if all VB mapping happens to be the same between the two buckets and high-seqno can all be obtained, the reported numbers can be wrong and negative changes_left can be reported.
      • if VB mapping happens to be different and some VB stats cannot be found, errors like "Can't find high seqno for vbno=855 in stats map. Source topology may have changed" will be reported.

      This bug only exist for pre-7.1. In 7.1 the code has changed to use bucket topology service which obtains the high-seqno from the correct bucket, so it is not affected by this bug.

      Attachments

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

        Activity

          People

            jliang John Liang
            lilei.chen Lilei Chen (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty