Details
-
Bug
-
Resolution: Won't Fix
-
Major - P3
-
None
-
3.5.9
-
None
-
Sharding
-
ALL
-
0
Description
The moveChunk command currently supports writeConcern, on mongos, on the config server, and on shards. This writeConcern only really applies to the range deletion on the donor shard (whether the request should wait for the deletes to propagate to a certain number of nodes before returning, when waitForDelete is true).
However, the document persisted for each ongoing migration in config.migrations does not contain the writeConcern option.
So, if the config server primary fails over, the new config primary will attempt to recover and continue all migrations listed in config.migrations. The new config primary will not, however, pass along a writeConcern to the shard (even if the original request contained writeConcern).
This is usually not a problem, since during a config failover, the mongos will retry the moveChunk request against the new config primary, which will cause the new config primary to send a separate moveChunk request to the donor shard (in addition to the one sent as part of recovering the migration). So, the mongos's retried moveChunk will contain the writeConcern.