Details
-
Bug
-
Resolution: Fixed
-
Major
-
5.5.0, 5.5.1, 5.5.2, 5.5.3, 5.5.4, 5.5.5, 5.5.6, 6.0.0, 6.0.1, 6.0.2, 6.0.3, 6.5.0
-
None
-
Triaged
-
No
Description
Identified a race condition between ActiveStream::next and ActiveStream::completeBackfill where we do not notify the stream due to itemsReady being true when completing a backfill, but a racing producer stepping can find no items in the readyQ and remove the Stream from the producers ready queue. This causes us to send all items from a disk backfill but not a stream end. Unsure if this affects versions prior to 5.5 branch.
This can also manifest in a backfill failing to transition state to either InMemory or TakeoverSend which affects replication too.
Attachments
Issue Links
- relates to
-
MB-54591 Lost wakeup in ActiveStream can result in DCP clients not receiving seqnos until another mutation occurs
- Closed
For Gerrit Dashboard: MB-37468 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
120292,11 | MB-37468: Force notification of stream completing backfill | alice | kv_engine | Status: MERGED | +2 | +1 |
120624,3 | MB-37468: Merge branch 'alice' into mad-hatter | mad-hatter | kv_engine | Status: MERGED | +2 | +1 |
120829,1 | Merge branch 'mad-hatter' | master | kv_engine | Status: MERGED | +2 | +1 |
183005,3 | ActiveStream::notifyStreamReady: Remove force parameter | master | kv_engine | Status: ABANDONED | 0 | -1 |