Details
-
Bug
-
Resolution: Fixed
-
Critical
-
6.5.0
-
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
- is subtask of
-
MB-36948 [System test] create partitioned index hung for more than 10hrs
- Closed
For Gerrit Dashboard: MB-37013 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
118282,4 | MB-37013: Expand snapshot marker V2 to include max-visible-seqno | mad-hatter | kv_engine | Status: ABANDONED | -2 | -1 |
118387,22 | MB-37013: Update DcpSnapShotMarker V2 to allow for an extra seqno | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
118779,2 | Merge remote-tracking branch 'couchbase/mad-hatter' | master | kv_engine | Status: ABANDONED | 0 | -1 |
118796,2 | Merge branch 'couchbase/mad-hatter' | master | kv_engine | Status: MERGED | +2 | +1 |