summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.h
diff options
context:
space:
mode:
authorFaustoleyva54 <fausto.leyva@mongodb.com>2023-03-16 15:24:32 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-03-16 18:07:59 +0000
commit490c9eef9ae19abd0fc8ea7f6913f3cbe12f7eda (patch)
tree5024353dca6ba7cebc059a9fa91f1b716200c1cb /src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.h
parenta9e1058cf25669fb2e1a9fc294d6afba8d61a59f (diff)
downloadmongo-490c9eef9ae19abd0fc8ea7f6913f3cbe12f7eda.tar.gz
SERVER-73887 Allow untimestamped writes for the entirety of initial sync retry
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.h')
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.h b/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.h
index 738bba18ff4..4b8541e4d52 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.h
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.h
@@ -113,10 +113,16 @@ public:
Timestamp getCatalogConflictingTimestamp() const override;
- void allowUntimestampedWrite() override {
+ void allowOneUntimestampedWrite() override {
invariant(!_isActive());
- _untimestampedWriteAssertion =
- WiredTigerBeginTxnBlock::UntimestampedWriteAssertion::kSuppress;
+ _untimestampedWriteAssertionLevel =
+ RecoveryUnit::UntimestampedWriteAssertionLevel::kSuppressOnce;
+ }
+
+ void allowAllUntimestampedWrites() override {
+ invariant(!_isActive());
+ _untimestampedWriteAssertionLevel =
+ RecoveryUnit::UntimestampedWriteAssertionLevel::kSuppressAlways;
}
void setTimestampReadSource(ReadSource source,
@@ -280,8 +286,8 @@ private:
boost::optional<Timestamp> _lastTimestampSet;
Timestamp _readAtTimestamp;
Timestamp _catalogConflictTimestamp;
- WiredTigerBeginTxnBlock::UntimestampedWriteAssertion _untimestampedWriteAssertion =
- WiredTigerBeginTxnBlock::UntimestampedWriteAssertion::kEnforce;
+ UntimestampedWriteAssertionLevel _untimestampedWriteAssertionLevel =
+ UntimestampedWriteAssertionLevel::kEnforce;
std::unique_ptr<Timer> _timer;
bool _isOplogReader = false;
boost::optional<int64_t> _oplogVisibleTs = boost::none;