summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Mulrow <jack.mulrow@mongodb.com>2019-11-12 16:18:43 +0000
committerevergreen <evergreen@mongodb.com>2019-11-12 16:18:43 +0000
commit25101f418ecc42d62339ad5e219177a6822bd59b (patch)
treef13eae1ee305a78d52e39e6a68ee52e0bcc7d33f
parentcc1842516ec7626c7a201a32c8bb94b4b23f3143 (diff)
downloadmongo-25101f418ecc42d62339ad5e219177a6822bd59b.tar.gz
SERVER-43217 Secondaries should ignore lastCollectionVersion field when waiting for a refresh to finish
-rw-r--r--src/mongo/db/s/shard_server_op_observer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mongo/db/s/shard_server_op_observer.cpp b/src/mongo/db/s/shard_server_op_observer.cpp
index fe9b34c8e64..f96a566e501 100644
--- a/src/mongo/db/s/shard_server_op_observer.cpp
+++ b/src/mongo/db/s/shard_server_op_observer.cpp
@@ -272,8 +272,8 @@ void ShardServerOpObserver::onUpdate(OperationContext* opCtx, const OplogUpdateE
// Need the WUOW to retain the lock for CollectionVersionLogOpHandler::commit()
AutoGetCollection autoColl(opCtx, updatedNss, MODE_IX);
- if (setField.hasField(ShardCollectionType::kLastRefreshedCollectionVersionFieldName) &&
- !setField.getBoolField("refreshing")) {
+ auto refreshingField = setField.getField(ShardCollectionType::kRefreshingFieldName);
+ if (refreshingField.isBoolean() && !refreshingField.boolean()) {
opCtx->recoveryUnit()->registerChange(
std::make_unique<CollectionVersionLogOpHandler>(opCtx, updatedNss));
}