-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Fully Compatible
-
Execution Team 2021-10-18, Execution Team 2021-11-01, Execution Team 2021-11-15, Execution Team 2021-11-29
-
35
It would be helpful for WiredTiger if we could turn on some assertions about timestamps, and as discussed in a recent meeting we should try to enable the mixed_mode timestamp assertion. I have attempted this and created a MongoDB patch build to check the fallout and there was still a significant amount. This is a shared ticket and will require a developer from the WiredTiger team and SERVER as fixing the test failures will be an iterative process.
When encountering a test failure a separate ticket should be created to fix the failure (if possible) and then this ticket will proceed once that ticket is completed, with the goal of one day enabling the assertion and merging it to master.
The patch I used to enable it was (it may not apply correctly so just take the config change):
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp index 0a7d407ad6..f2bf8e5b2c 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp @@ -766,7 +766,7 @@ StatusWith<std::string> WiredTigerRecordStore::generateCreateString( // Choose a higher split percent, since most usage is append only. Allow some space // for workloads where updates increase the size of documents. ss << "split_pct=90,"; - ss << "leaf_value_max=64MB,"; + ss << "leaf_value_max=64MB,write_timestamp_usage=mixed_mode"; ss << "checksum=on,"; if (wiredTigerGlobalOptions.useCollectionPrefixCompression) { ss << "prefix_compression,";
- depends on
-
WT-8297 timestamp order check fired on logged table in recovery
- Closed
- is related to
-
SERVER-58410 Discontinue writing to appliedThrough/minValid as part of secondary batch application
- Closed
- related to
-
WT-8745 Restrict prepare_timestamp to be > stable, not >= oldest
- Closed
-
SERVER-59831 WTUniqueIndex::_insert expects secondaries to pass in dupsAllowed=true
- Closed
-
SERVER-60719 Hybrid index build side table uses mixed mode writes
- Closed
-
SERVER-60727 Remove mixed mode updates on local.system.replset
- Closed
-
SERVER-60753 Removing index build entries from 'config.system.indexBuilds' can make mixed mode writes
- Closed
-
SERVER-60754 Setting multikey in _mdb_catalog can be out of timestamp order
- Closed
-
WT-8601 Timestamps do not work with logged tables.
- Closed
-
SERVER-63308 Accommodate WT-8601
- Closed
-
WT-8170 Reduce complexity of timestamp usage assertion API code
- Closed