|
The Balancer may attempt to recover migrations that it already told the mongos were successful. For example, as soon as a config server is stepped down, it can still return successful movechunk results, but is unable to remove the migration document so that migration gets picked up on balancer recovery on the new primary.
This poses a problem because the mongos (our JS test via the mongos) can move on to the next moveChunk and get a conflicting operation error from the shard because it registered the old migration before checking whether it was actually going to do it – whether it has that chunk to move.
|