diff options
author | Daniel Gottlieb <daniel.gottlieb@mongodb.com> | 2022-09-07 14:34:30 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-09-16 01:43:45 +0000 |
commit | c75149356dd9c18b72eb476e69d58a21d8c304ea (patch) | |
tree | 93469b75bb6be93b895626d920c37362c9d4f257 | |
parent | e93608f365efaf0cceb19ad91c8e7c813a3a0caa (diff) | |
download | mongo-c75149356dd9c18b72eb476e69d58a21d8c304ea.tar.gz |
SERVER-69500: Remove outdated minvalid timestamping invariant.
7 files changed, 9 insertions, 22 deletions
diff --git a/src/mongo/db/repl/initial_syncer.cpp b/src/mongo/db/repl/initial_syncer.cpp index fae8ee042e0..0617337d824 100644 --- a/src/mongo/db/repl/initial_syncer.cpp +++ b/src/mongo/db/repl/initial_syncer.cpp @@ -1453,8 +1453,8 @@ void InitialSyncer::_lastOplogEntryFetcherCallbackForStopTimestamp( // Release the _mutex to write to disk. auto opCtx = makeOpCtx(); - _replicationProcess->getConsistencyMarkers()->setMinValid( - opCtx.get(), resultOpTimeAndWallTime.opTime, true); + _replicationProcess->getConsistencyMarkers()->setMinValid(opCtx.get(), + resultOpTimeAndWallTime.opTime); stdx::lock_guard<Latch> lock(_mutex); _initialSyncState->stopTimestamp = resultOpTimeAndWallTime.opTime.getTimestamp(); diff --git a/src/mongo/db/repl/replication_consistency_markers.h b/src/mongo/db/repl/replication_consistency_markers.h index b2f5356b85e..e7bdef7b28f 100644 --- a/src/mongo/db/repl/replication_consistency_markers.h +++ b/src/mongo/db/repl/replication_consistency_markers.h @@ -141,9 +141,7 @@ public: * ignore the storage engine's rollback method by setting the 'alwaysAllowUntimestampedWrite' * parameter to true. */ - virtual void setMinValid(OperationContext* opCtx, - const OpTime& minValid, - bool alwaysAllowUntimestampedWrite = false) = 0; + virtual void setMinValid(OperationContext* opCtx, const OpTime& minValid) = 0; // -------- Oplog Truncate After Point ---------- diff --git a/src/mongo/db/repl/replication_consistency_markers_impl.cpp b/src/mongo/db/repl/replication_consistency_markers_impl.cpp index 21f95afe229..e048d6e36e8 100644 --- a/src/mongo/db/repl/replication_consistency_markers_impl.cpp +++ b/src/mongo/db/repl/replication_consistency_markers_impl.cpp @@ -193,8 +193,7 @@ OpTime ReplicationConsistencyMarkersImpl::getMinValid(OperationContext* opCtx) c } void ReplicationConsistencyMarkersImpl::setMinValid(OperationContext* opCtx, - const OpTime& minValid, - bool alwaysAllowUntimestampedWrite) { + const OpTime& minValid) { LOGV2_DEBUG(21289, 3, "setting minvalid to exactly: {minValidString}({minValidBSON})", @@ -206,11 +205,6 @@ void ReplicationConsistencyMarkersImpl::setMinValid(OperationContext* opCtx, << minValid.getTimestamp() << MinValidDocument::kMinValidTermFieldName << minValid.getTerm())); - // This method is only used with storage engines that do not support recover to stable - // timestamp. As a result, their timestamps do not matter. - invariant(alwaysAllowUntimestampedWrite || - !opCtx->getServiceContext()->getStorageEngine()->supportsRecoverToStableTimestamp()); - _updateMinValidDocument(opCtx, update); } diff --git a/src/mongo/db/repl/replication_consistency_markers_impl.h b/src/mongo/db/repl/replication_consistency_markers_impl.h index c6bb8f0ab90..e6cd6597680 100644 --- a/src/mongo/db/repl/replication_consistency_markers_impl.h +++ b/src/mongo/db/repl/replication_consistency_markers_impl.h @@ -68,9 +68,7 @@ public: void clearInitialSyncFlag(OperationContext* opCtx) override; OpTime getMinValid(OperationContext* opCtx) const override; - void setMinValid(OperationContext* opCtx, - const OpTime& minValid, - bool alwaysAllowUntimestampedWrite = false) override; + void setMinValid(OperationContext* opCtx, const OpTime& minValid) override; void ensureFastCountOnOplogTruncateAfterPoint(OperationContext* opCtx) override; diff --git a/src/mongo/db/repl/replication_consistency_markers_impl_test.cpp b/src/mongo/db/repl/replication_consistency_markers_impl_test.cpp index be7ea661590..6247c389c74 100644 --- a/src/mongo/db/repl/replication_consistency_markers_impl_test.cpp +++ b/src/mongo/db/repl/replication_consistency_markers_impl_test.cpp @@ -210,7 +210,7 @@ TEST_F(ReplicationConsistencyMarkersTest, ReplicationConsistencyMarkers) { OpTime startOpTime({Seconds(123), 0}, 1LL); OpTime endOpTime({Seconds(456), 0}, 1LL); consistencyMarkers.setAppliedThrough(opCtx, startOpTime); - consistencyMarkers.setMinValid(opCtx, endOpTime, true /* alwaysAllowUntimestampedWrite */); + consistencyMarkers.setMinValid(opCtx, endOpTime); consistencyMarkers.setOplogTruncateAfterPoint(opCtx, endOpTime.getTimestamp()); ASSERT_EQ(consistencyMarkers.getAppliedThrough(opCtx), startOpTime); @@ -231,7 +231,7 @@ TEST_F(ReplicationConsistencyMarkersTest, ReplicationConsistencyMarkers) { // Set min valid without waiting for the changes to be durable. OpTime endOpTime2({Seconds(789), 0}, 1LL); - consistencyMarkers.setMinValid(opCtx, endOpTime2, true); + consistencyMarkers.setMinValid(opCtx, endOpTime2); consistencyMarkers.clearAppliedThrough(opCtx); ASSERT_EQUALS(consistencyMarkers.getAppliedThrough(opCtx), OpTime()); ASSERT_EQUALS(consistencyMarkers.getMinValid(opCtx), endOpTime2); diff --git a/src/mongo/db/repl/replication_consistency_markers_mock.cpp b/src/mongo/db/repl/replication_consistency_markers_mock.cpp index 5e19500c024..9e6e1adbe18 100644 --- a/src/mongo/db/repl/replication_consistency_markers_mock.cpp +++ b/src/mongo/db/repl/replication_consistency_markers_mock.cpp @@ -69,8 +69,7 @@ OpTime ReplicationConsistencyMarkersMock::getMinValid(OperationContext* opCtx) c } void ReplicationConsistencyMarkersMock::setMinValid(OperationContext* opCtx, - const OpTime& minValid, - bool alwaysAllowUntimestampedWrite) { + const OpTime& minValid) { stdx::lock_guard<Latch> lock(_minValidBoundariesMutex); _minValid = minValid; } diff --git a/src/mongo/db/repl/replication_consistency_markers_mock.h b/src/mongo/db/repl/replication_consistency_markers_mock.h index ab6c589dbd7..7fe15f9489d 100644 --- a/src/mongo/db/repl/replication_consistency_markers_mock.h +++ b/src/mongo/db/repl/replication_consistency_markers_mock.h @@ -58,9 +58,7 @@ public: void clearInitialSyncFlag(OperationContext* opCtx) override; OpTime getMinValid(OperationContext* opCtx) const override; - void setMinValid(OperationContext* opCtx, - const OpTime& minValid, - bool alwaysAllowUntimestampedWrite = false) override; + void setMinValid(OperationContext* opCtx, const OpTime& minValid) override; void ensureFastCountOnOplogTruncateAfterPoint(OperationContext* opCtx) override; |