Details
-
Bug
-
Resolution: Fixed
-
Critical
-
4.6.4, 5.0.1, 5.1.1, 5.5.0
-
Untriaged
-
Unknown
Description
When a stream is first requested, the rollback logic checks if the start-seqno is below the purge-seqno, however by the time the backfill is actually scheduled to run, the purge-seqno could of changed (i.e. compaction finished).
- streamRequest - compare startSeqno against vb->getPurgeSeqno(), stream is OK and backfill is scheduled
- compaction finishes and sets purgeSeqno to be > than startSeqno
- backfill runs and is started from the requested point and may miss deletions which have been purged