summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/shard_server_catalog_cache_loader.cpp
diff options
context:
space:
mode:
authorjannaerin <golden.janna@gmail.com>2018-04-20 10:02:04 -0400
committerjannaerin <golden.janna@gmail.com>2018-04-20 17:53:07 -0400
commita458c159eb3d3bf5260bbde38eeed22a45586636 (patch)
treec7934c1ee07430dcf886c05edf4f682e8ef13049 /src/mongo/db/s/shard_server_catalog_cache_loader.cpp
parent7b1ac75a303433b18377493a8378fecad8446d59 (diff)
downloadmongo-a458c159eb3d3bf5260bbde38eeed22a45586636.tar.gz
SERVER-33766 Ensure that secondaries always invalidate the in-memory routing table when new
metadata arrives
Diffstat (limited to 'src/mongo/db/s/shard_server_catalog_cache_loader.cpp')
-rw-r--r--src/mongo/db/s/shard_server_catalog_cache_loader.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/mongo/db/s/shard_server_catalog_cache_loader.cpp b/src/mongo/db/s/shard_server_catalog_cache_loader.cpp
index 7943d6b8265..8008640e57c 100644
--- a/src/mongo/db/s/shard_server_catalog_cache_loader.cpp
+++ b/src/mongo/db/s/shard_server_catalog_cache_loader.cpp
@@ -89,6 +89,10 @@ Status persistCollectionAndChangedChunks(OperationContext* opCtx,
collAndChunks.shardKeyPattern,
collAndChunks.defaultCollation,
collAndChunks.shardKeyIsUnique);
+
+ // Mark the chunk metadata as refreshing, so that secondaries are aware of refresh.
+ update.setRefreshing(true);
+
Status status = updateShardCollectionsEntry(opCtx,
BSON(ShardCollectionType::ns() << nss.ns()),
update.toBSON(),
@@ -98,12 +102,6 @@ Status persistCollectionAndChangedChunks(OperationContext* opCtx,
return status;
}
- // Mark the chunk metadata as refreshing, so that secondaries are aware of refresh.
- status = setPersistedRefreshFlags(opCtx, nss);
- if (!status.isOK()) {
- return status;
- }
-
// Update the chunks.
status = updateShardChunks(opCtx, nss, collAndChunks.changedChunks, collAndChunks.epoch);
if (!status.isOK()) {