diff options
author | Faustoleyva54 <fausto.leyva@mongodb.com> | 2023-03-16 15:24:32 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-03-16 18:07:59 +0000 |
commit | 490c9eef9ae19abd0fc8ea7f6913f3cbe12f7eda (patch) | |
tree | 5024353dca6ba7cebc059a9fa91f1b716200c1cb /src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit.h | |
parent | a9e1058cf25669fb2e1a9fc294d6afba8d61a59f (diff) | |
download | mongo-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.h | 16 |
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; |