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

XDCR - handling of purgeSeqno rollback skip



    • Improvement
    • Resolution: Won't Fix
    • Major
    • Morpheus
    • Morpheus
    • XDCR
    • None
    • 0


      As part of the MB that will allow XDCR to prevent rollback to 0, it could potentially cause hard to diagnose issues.
      If a rollback to 0 was due to purge seqno, the situation would usually show up in the logs. XDCR log will show the rollback, and memcached log would show the reason.

      Once DCP offers the ability to not rollback, and XDCR uses it, there will not be any more logging evidence when XDCR resumes a pipeline that the resuming seqno(s) for certain VBs are below the purge sequence number, meaning that targets could have outdated documents that can’t be removed while the source no longer have them and no longer have the tombstones.

      We need to ensure that should this situation happen, XDCR logs a counter in its pipeline stats so that this information is not lost and can provide evidence for situations where bucket documents cost differ.

      To do this, XDCR needs to determine that a purgeSeqno has moved before allowing to DCP stream bypassing purge seqno rollback:

      1. Establish DCP connection and StreamReq at a resuming Seqno without opting into the purgeSeqno skip
      2. If rollback happens, disconnect and try re-stablishing DCP connection and opting into purgeSeqno skip
      3. If rollback still happens, the rollback in 2 is not due to purge seqno, so continue to rollback.
      4. If rollback does not happen, then the rollback 2 was due to purge seqno. We need to record this for statsMgr to show, or persist in the checkpoints as well for perpetuity (i.e. pipeline restarts or xdcr process restarts, we need to remember this happened)


        Issue Links

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



              neil.huang Neil Huang
              neil.huang Neil Huang
              0 Vote for this issue
              1 Start watching this issue



                Gerrit Reviews

                  There are no open Gerrit changes