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

[BP 6.6.4] - XDCR - remove staged transaction xattr and replicate data

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Major
    • 6.6.5
    • 6.5.1, 6.6.0, 6.6.1, 6.6.2, 6.5.2, 6.5.0, 6.6.3
    • XDCR
    • 1

    Description

      XDCR's initial implementation to support transaction is to not replicate a document if it contains any staged/uncommitted transactions xattr.

      One of the issues we've seen from CBSEs is that it is possible for the customer application to crash in the middle of transactions, where the document contains uncommitted xattrs regarding transaction. On top of that, the transaction active record do not have any linkage to these uncommitted documents.

      If the customer do not re-initiate transactions on these documents, then SDK will not clean up these xattrs in these documents, and they will live inside these documents indefinitely.

      If customers perform non-transactional updates to these documents, then the xattrs do not get removed. As such, XDCR will see these updates, but notice the transaction xattrs, and so not replicate these updates... leading to missed updates and an HA issue.

      The proposed fix is to address this from the XDCR side instead of the SDK side, by making XDCR aware of these uncommitted xatts. XDCR will the need to strip these xattrs, and then replicate the document w/o these xattrs.

      A side effect of this change is that it is possible that XDCR will replicate documents in the middle of transactions, bumping up revID and/or CAS each time. Each revision of the document will look the same (since unstaged info is in the xattrs), until the transaction is committed. This will cause extra replication of the same document, leading to higher bandwidth usage.

      Attachments

        Issue Links

          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:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty