-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: 5.0.0, 5.1.0
-
Component/s: None
-
Fully Compatible
-
ALL
-
-
Sharding EMEA 2021-12-27, Sharding EMEA 2022-01-10, Sharding EMEA 2022-01-24, Sharding EMEA 2022-02-07, Sharding EMEA 2022-02-21, Sharding EMEA 2022-03-07, Sharding EMEA 2022-03-21
-
32
When a stale mongos gets a moveChunk command it first does a refresh. However a mongos might have refreshed from a stale configsvr secondary that has not seen the latest split / merge operation on yet.
The mongos may not yet know of a clusterTime inclusive of the split because another mongos did it, so there is no causal consistency guarantee.
For a moveChunk operation the shard will later throw a StaleShardVersion error here.
However the mongos will not retry the operation because this code is missing the StaleConfigInfo extra information, which causes the code in strategy.cpp to abort a retry attempt.
Possible solutions:
- Attach StaleConfigInfo to the exceptions on the shard
- Perform a version check on the configsvr
- depends on
-
SERVER-63327 Remove usages of the StaleShardVersion error code from the migrations path
- Closed