Repository navigation
Exit the oplog populator when the metastore stream is invalidated - #2863
Conversation
Hello francoisferrand,My role is to assist you with the merge of this Available options
Available commands
Status report is not available. |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files
... and 1 file with indirect coverage changes
@@ Coverage Diff @@
## development/9.6 #2863 +/- ##
===================================================
+ Coverage 77.00% 77.01% +0.01%
===================================================
Files 211 211
Lines 14559 14562 +3
===================================================
+ Hits 11211 11215 +4
+ Misses 3338 3337 -1
Partials 10 10
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
|
Dropping __metastore (as a D/R sink bootstrap does) closes the change stream for good. Since BB-879 these events are just skipped, so the process stays up but no longer sees bucket changes: buckets created or restored afterwards are never listened to, and lifecycle, replication and notifications silently stop for them. Exit on drop, rename, dropDatabase and invalidate instead, so that the restart goes through setup() again: re-list the buckets, open a new stream and stop listening to buckets that are gone. This is what the crash used to do before BB-879, now on purpose. Issue: BB-897
Issue: BB-897
8f7f752 to
073f2a1
Compare
|
/approve |
|
I have successfully merged the changeset of this pull request
The following branches have NOT changed:
This pull request did not target the following hotfix branch(es) so they
Please check the status of the associated issue BB-897. Goodbye francoisferrand. The following options are set: approve |
Dropping
__metastore(as a D/R sink bootstrap does) sendsdroptheninvalidate, after which the change stream is closed for good. Since BB-879 these events are just skipped, so the oplog populator stays up and healthy but no longer sees bucket changes: buckets created or restored afterwards are never listened to, and lifecycle, replication and notifications silently stop for them. This is what breaks the Zenko PRA e2e test with 9.6.0-preview.1 (scality/Zenko#2535).The oplog populator now exits on
drop,rename,dropDatabaseandinvalidate. The restart goes throughsetup()again: it re-lists the buckets, opens a new stream and stops listening to buckets that are gone. That's what the pre-BB-879 crash used to do, now on purpose and with a clear log line.MongoConfigManager and LocationStatusStream have the same blind spot after a drop; that will be handled in a separate ticket.
Issue: BB-897