diff options
author | Matthew Russotto <matthew.russotto@mongodb.com> | 2021-09-17 19:12:27 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-09-17 19:50:12 +0000 |
commit | 7e5e6088eaf3ff2e01740cb52efa16c1fb8d360b (patch) | |
tree | eaf68d497e17c3b0fffe8951057e64662c515d85 | |
parent | 96c05706a5d024ca13f3306feea18dcccb1f812a (diff) | |
download | mongo-7e5e6088eaf3ff2e01740cb52efa16c1fb8d360b.tar.gz |
SERVER-59866 Stop FCV from waiting for majority when currentCommitted…
-rw-r--r-- | src/mongo/db/commands/feature_compatibility_version.h | 2 | ||||
-rw-r--r-- | src/mongo/db/repl/replication_coordinator_external_state_impl.cpp | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/mongo/db/commands/feature_compatibility_version.h b/src/mongo/db/commands/feature_compatibility_version.h index a0250b1f4f3..b6c5c537000 100644 --- a/src/mongo/db/commands/feature_compatibility_version.h +++ b/src/mongo/db/commands/feature_compatibility_version.h @@ -120,6 +120,8 @@ public: /** * Used by the FCV OpObserver at rollback time. The rollback FCV is always in the * majority snapshot, so it is safe to clear the lastFCVUpdateTimestamp then. + * + * Also used in rare cases when the replication coordinator majority snapshot is cleared. */ static void clearLastFCVUpdateTimestamp(); }; diff --git a/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp b/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp index 45a54c4d356..cb0e9e9bcd6 100644 --- a/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp +++ b/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp @@ -989,6 +989,7 @@ void ReplicationCoordinatorExternalStateImpl::_dropAllTempCollections(OperationC void ReplicationCoordinatorExternalStateImpl::clearCommittedSnapshot() { if (auto manager = _service->getStorageEngine()->getSnapshotManager()) manager->clearCommittedSnapshot(); + FeatureCompatibilityVersion::clearLastFCVUpdateTimestamp(); } void ReplicationCoordinatorExternalStateImpl::updateCommittedSnapshot( |