summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/scoped_operation_completion_sharding_actions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/s/scoped_operation_completion_sharding_actions.cpp')
-rw-r--r--src/mongo/db/s/scoped_operation_completion_sharding_actions.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mongo/db/s/scoped_operation_completion_sharding_actions.cpp b/src/mongo/db/s/scoped_operation_completion_sharding_actions.cpp
index d7253272b62..7e3d89d58f0 100644
--- a/src/mongo/db/s/scoped_operation_completion_sharding_actions.cpp
+++ b/src/mongo/db/s/scoped_operation_completion_sharding_actions.cpp
@@ -80,6 +80,13 @@ ScopedOperationCompletionShardingActions::~ScopedOperationCompletionShardingActi
}
if (staleInfo->getVersionWanted() &&
+ ChunkVersion::isIgnoredVersion(staleInfo->getVersionReceived())) {
+ // Shard is recovered, but the router didn't sent a shard version, therefore we just
+ // need to tell the router how much it needs to advance to (getVersionWanted).
+ return;
+ }
+
+ if (staleInfo->getVersionWanted() &&
staleInfo->getVersionReceived().isOlderThan(*staleInfo->getVersionWanted())) {
// Shard is recovered and the router is staler than the shard
return;