-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Fully Compatible
-
Sharding 2020-10-05
This ticket is to make mongod clear and recover, on replication rollback, which database prefixes to block/reject requests for.
- Add a function TenantMigrationAccessBlockerByPrefix::removeAll similar to TenantMigrationAccessBlockerByPrefix::remove, but that clears its entire map
- Make replication rollback call TenantMigrationAccessBlockerByPrefix::removeAll followed by the recoverTenantMigrationAccessBlockers function added under
SERVER-48941just before where prepared transactions are recovered at the end of rollback
Similarly to the previous two tickets, this ticket should test that the code works by causing a rollback on a donor node
- while the migration is in the "blocking" state
- after the migration has written the "commit" oplog entry but before the commit oplog entry has majority-committed
- after the migration has written the "abort" oplog entry but before the abort oplog entry has majority-committed
and confirming that the in-memory state was recovered correctly.
- is duplicated by
-
SERVER-49179 Make replication rollback of the "commit" or "abort" write call MigratingTenantAccessBlocker::rollBackCommitOrAbort
- Closed