Details
-
Technical task
-
Resolution: Unresolved
-
Minor
-
master
Description
RegisterCursorBySeqno: Registers the cursor for getting items whose bySeqno values are between startBySeqno and endBySeqno, and close the open checkpoint if endBySeqno belongs to the open checkpoint.
It has the following 2 parameters
1) startBySeqno The start bySeqno.
2) needsCheckpointEndMetaItem Used to indicate the CheckpointEndMetaItem
must not be skipped for the cursor.
The function returns a cursor registration result which consists of (1) the bySeqno with which the cursor can start and (2) flag indicating if the cursor starts with the first item on a checkpoint.
We need to test three specific cases
1) When the startBySeqno matches the resulting bySeqno
2) When the startBySeqno is before the resulting bySeqno. (requiring us to discard the "extra" items so we don't send the same sequence numbers twice)
3) When the startBySeqno is after the resulting bySeqno. (requiring us to perform another
backfill)