Description
NotifierStreams are protected from rollback by setting high_seqno to start_seqno.
This causes needRollback in in failover-table.cc to always return false.
Problem is this will skip case where vb_uuid doesn't not exist in failovertable, because under normal cases producer stream requests returns rollback when client tries to stream mutations past seqno 0 when vbuuid does not exist.
Result is that notifier stream is created, but is never notified of stream_end because it is not subscribed to any vbucket.
Attachments
For Gerrit Dashboard: MB-10918 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
36118,3 | MB-10918: test_stream_request_notifier_bad_uuid | master | pyupr | Status: MERGED | +2 | +1 |
36124,1 | MB-10918: simplified rollback logic for notifier stream | master | ep-engine | Status: ABANDONED | -2 | 0 |