Details
-
Task
-
Resolution: Unresolved
-
Major - P3
-
None
-
None
-
None
-
None
-
Catalog and Routing
Description
Implicitly change all the DBPrimary from the removed shard on a removeShard operation.
To do that we should call the _shardsvrDrainShard command from the _configsvrRemoveShard execution thread.
Considerations to be taken:
- We can't call _shardsvrDrainShard unless all the checks to remove a shard pass.
- Config server will tell the draining shard through the _shardsvrDrainShard command which is the destination shard for all the databases.
- The balancer won't start moving the unsplittable collections related to the removeShard operation until their database is been moved off the draining shard.