Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-60037

Enable the ordered timestamp assertion in MongoDB

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.2.0
    • 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,";
      

            Assignee:
            yuhong.zhang@mongodb.com Yuhong Zhang
            Reporter:
            luke.pearson@mongodb.com Luke Pearson
            Votes:
            0 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated:
              Resolved: