summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Gottlieb <daniel.gottlieb@mongodb.com>2022-09-07 14:34:30 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-09-16 01:43:45 +0000
commitc75149356dd9c18b72eb476e69d58a21d8c304ea (patch)
tree93469b75bb6be93b895626d920c37362c9d4f257
parente93608f365efaf0cceb19ad91c8e7c813a3a0caa (diff)
downloadmongo-c75149356dd9c18b72eb476e69d58a21d8c304ea.tar.gz
SERVER-69500: Remove outdated minvalid timestamping invariant.
-rw-r--r--src/mongo/db/repl/initial_syncer.cpp4
-rw-r--r--src/mongo/db/repl/replication_consistency_markers.h4
-rw-r--r--src/mongo/db/repl/replication_consistency_markers_impl.cpp8
-rw-r--r--src/mongo/db/repl/replication_consistency_markers_impl.h4
-rw-r--r--src/mongo/db/repl/replication_consistency_markers_impl_test.cpp4
-rw-r--r--src/mongo/db/repl/replication_consistency_markers_mock.cpp3
-rw-r--r--src/mongo/db/repl/replication_consistency_markers_mock.h4
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;