diff options
author | jannaerin <golden.janna@gmail.com> | 2018-04-20 10:02:04 -0400 |
---|---|---|
committer | jannaerin <golden.janna@gmail.com> | 2018-04-20 17:53:07 -0400 |
commit | a458c159eb3d3bf5260bbde38eeed22a45586636 (patch) | |
tree | c7934c1ee07430dcf886c05edf4f682e8ef13049 /src/mongo/db/s/shard_server_catalog_cache_loader.cpp | |
parent | 7b1ac75a303433b18377493a8378fecad8446d59 (diff) | |
download | mongo-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.cpp | 10 |
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()) { |