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