diff options
author | Gregory Wlodarek <gregory.wlodarek@mongodb.com> | 2021-04-06 14:45:58 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-04-07 15:02:55 +0000 |
commit | 00a9e47df8ebd2c8b224eb3a38fe6ffbfe406268 (patch) | |
tree | 1ec386bb0d8803060cd09dc8bc872e4a4ee4e386 /src | |
parent | c2566e29b96559ac5ba4c8616a357c4025a0f843 (diff) | |
download | mongo-00a9e47df8ebd2c8b224eb3a38fe6ffbfe406268.tar.gz |
SERVER-55479 Invariant that the first table checked in WiredTigerUtil::setTableLogging() is the _mdb_catalog
Diffstat (limited to 'src')
4 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp index ce2b7c15a13..a7b7390756c 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp @@ -68,6 +68,7 @@ public: virtual KVEngine* restartEngine() override { _engine.reset(nullptr); _engine = makeEngine(); + _engine->notifyStartupComplete(); return _engine.get(); } diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit_test.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit_test.cpp index 5c384c2b8ed..2f28df784a2 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit_test.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_recovery_unit_test.cpp @@ -66,6 +66,7 @@ public: getGlobalServiceContext(), std::unique_ptr<repl::ReplicationCoordinator>(new repl::ReplicationCoordinatorMock( getGlobalServiceContext(), repl::ReplSettings()))); + _engine.notifyStartupComplete(); } ~WiredTigerRecoveryUnitHarnessHelper() {} diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_standard_index_test.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_standard_index_test.cpp index f3b2f963b53..b050a4a2f88 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_standard_index_test.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_standard_index_test.cpp @@ -62,11 +62,15 @@ public: _fastClockSource = std::make_unique<SystemClockSource>(); _sessionCache = new WiredTigerSessionCache(_conn, _fastClockSource.get()); + + WiredTigerUtil::notifyStartupComplete(); } ~WiredTigerIndexHarnessHelper() final { delete _sessionCache; _conn->close(_conn, nullptr); + + WiredTigerUtil::resetTableLoggingInfo(); } std::unique_ptr<SortedDataInterface> newIdIndexSortedDataInterface() final { diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp index 2d0b7998e5d..e2173229284 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp @@ -756,6 +756,10 @@ Status WiredTigerUtil::setTableLogging(WT_SESSION* session, const std::string& u invariant(_tableLoggingInfo.isFirstTable); invariant(!_tableLoggingInfo.hasPreviouslyIncompleteTableChecks); + + // When repair or a forced modification to the table logging settings isn't running, check that + // the first table is the catalog. + invariant(uri == "table:_mdb_catalog", str::stream() << "First table checked was: " << uri); _tableLoggingInfo.isFirstTable = false; // Check if the first tables logging settings need to be modified. |