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

DCP protocol change to include high "visible" seqno

    XMLWordPrintable

Details

    • Triaged
    • Unknown
    • KV-Engine Mad-Hatter GA

    Description

      GetAllVBSeqnos need to be sure that the seqno returned to the caller is not a prepare/abort.

      A DCP protocol update is required (an extension of the sync-write DCP protocol changes already made in mad-hatter). The reason for the protocol change is to solve an issue in GetAllVBSeqnos for replica vbuckets.

      When we return the 'high-seqno' of a replica, we use the replica's current snapshot.end. The value exposed in this case can, if the replica is receiving a disk snapshot suffer the same issue described in MB-36948, in that it could be a prepare/abort. If the caller of GetAllVBSeqnos does not opt into sync-replication, then it expects to see the snapshot.end on DCP, however it won't (the view-engine will do exactly that and likely block rebalance, or just hang).

      To resolve the issue the DCP snapshot marker command needs to transmit the extra seqno (which won't be a prepare/abort) from active to replica and then GetAllVBSeqnos can use that value for the replica seqno if the caller hasn't negotiated sync-replication.

      This MB covers the change to the DCP protocol.

      Attachments

        Issue Links

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

          Activity

            People

              owend Daniel Owen
              owend Daniel Owen
              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