Details
-
Bug
-
Resolution: Fixed
-
Major
-
3.0
-
Security Level: Public
-
None
-
Untriaged
-
Unknown
-
June 30 - July 18
Description
The upr protocol dictates that a snapshot marker will contain the start and end seqno that will be sent in the snapshot. Currently when we are streaming the open checkpoint we set the end seqno to -1 since the open checkpoint is not closed. While this will not be an issue for intra-cluster replication it will be an issue for other clients that want to use continuous streaming.
One of the problems is that some clients that request a continuous stream cannot use a snapshot until they receive the entire snapshot. This is because the application behind the client only wants to present results the the user when the application can provide a consistent view of the database up to a specific seqno. This is the case with view engine since query results should be returned only when the results are consistent. If we send a snapshot with the end seqno of -1 then the open checkpoint may not close for minutes (due to checkpoint manager internals) meaning that client could not be sure if it had a full snapshot until the open checkpoint was closed.
A second issue is the the upr spec says that clients should know they have received a full snapshot when they have seen up to the end seqno specified in the snapshot marker. Sending -1 in this field violates this condition.
Attachments
For Gerrit Dashboard: MB-11592 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
38779,13 | MB-11592: Create snapshots when getting items from the chk queues | master | ep-engine | Status: MERGED | +2 | +1 |
39283,9 | MB-11592: Use a queue_item in a MutationResponse instead of and Item | master | ep-engine | Status: MERGED | +2 | +1 |
39478,3 | MB-11592 Fix upr snapshot marker flag values | master | couchdb | Status: ABANDONED | 0 | 0 |
39494,4 | MB-11592 Fix upr snapshot marker flag values | master | couchdb | Status: MERGED | +2 | +1 |
39669,1 | MB-11592: snapshots include checkpoint marker | master | pyupr | Status: MERGED | +2 | +1 |