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

XDCR explicit mapping update incorrect when source manifest does not change

    XMLWordPrintable

Details

    Description

      Thanks to Hyun-Ju Vega for finding the issue. Her steps are as follows:

      Scenario tested:
      Configure data with 4gig memory quota.
      On cluster a-clus (has one node only):
      Load the sample bucket travel-sample (using the UI – settings/samples).

      On cluster b-clus (has one node only):
      Configure data with 4gig memory quota.
      Create b-travel-sample bucket, create scope inventory, and in inventory, create collections airline and airport.

      On cluster a-clus:
      Create XDCR remote for b-clus:
      Create XDCR replication with source bucket=travel-sample, target bucket on b-clus=b-travel-sample.
      Click on button to specify scopes, collections, and mapping.
      Click on inventory so that it picks all of inventory’s current and future collections to replicate.
      Save replication.

      After replication starts, make sure that all documents that currently exist in airline and airport have been replicated to target.
      Add the missing hotel collection on target and wait until all existing docs from source have replicated to hotel.
      Update a doc in hotel on source – check that the update replicated to target – this update is replicated immediately.
      Make another update in same hotel doc on source – this update takes a long time to replicate – about 5 min.

      Add the missing collections route and landmark on target and wait until all docs replicate on those collections.
      Now, on source, update 1 doc from each of the 5 collections – airline, airport, hotel, landmark, route.
      The airline and airport updates replicate quickly, but the other updates take about 5 minutes.

      Wait about 5 minutes, then try the same thing again – updating the same doc from each of the 5 collections on source.
      Again, the updates on hotel, landmark, route take much longer to replicate to target – about 5 minutes vs immediate for airline and airport updates.

      The issue is an incorrect conditional check in XDCR that short circuits the rest of the explicit update logic. This results in the router's broken map not updating correctly.

      Attachments

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

        Activity

          People

            pavithra.mahamani Pavithra Mahamani (Inactive)
            neil.huang Neil Huang
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty