Details
-
Bug
-
Resolution: Won't Do
-
Critical - P2
-
None
-
None
-
None
-
None
-
ALL
-
Sharding EMEA 2023-05-15
-
110
Description
SERVER-73539 introduced replay protection when calling stopMigrations from the rename coordinator.
The flow of setAllowMigrations is the following:
- Shard (DDL coordinator) asks the CSRS to stop migrations
- CSRS updates the collection's metadata and then asks every shard to:
- Abort current migrations
- Refresh the routing table
Step (1) is performed with a session checked out and may get executed while a migration for one of the collections involved in the rename is happening on the same node the DDL coordinator runs on. In that case, the lsid will get propagated down until step (2.1) that will get stuck trying to checkout the same session.