summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Russotto <matthew.russotto@mongodb.com>2021-09-17 19:12:27 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-09-17 19:50:12 +0000
commit7e5e6088eaf3ff2e01740cb52efa16c1fb8d360b (patch)
treeeaf68d497e17c3b0fffe8951057e64662c515d85
parent96c05706a5d024ca13f3306feea18dcccb1f812a (diff)
downloadmongo-7e5e6088eaf3ff2e01740cb52efa16c1fb8d360b.tar.gz
SERVER-59866 Stop FCV from waiting for majority when currentCommitted…
-rw-r--r--src/mongo/db/commands/feature_compatibility_version.h2
-rw-r--r--src/mongo/db/repl/replication_coordinator_external_state_impl.cpp1
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(