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

the server tests attempt to set illegal durable and oldest timestamps

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • ALL

      In WT-9042, the WT code to set the global timestamps was simplified, but also changed to eliminate possible races and to validate the final state of the timestamps. Running an MDB server build reported some errors.

      The MDB server build is here:
      https://spruce.mongodb.com/version/626427e83e8e866de9dca260/tasks?limit=20&page=0&sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC

      There are complaints about setting the oldest timestamp after stable, here's an example from replica_sets_large_txns_format_2_enterprise-rhel-80-64-bit-dynamic-all-feature-flags-required, at: https://logkeeper.mongodb.org/build/3f81046

      {"ts_sec":1650735882,"ts_usec":511535,"thread":"22910:0x7f53ff400500","session_name":"WT_CONNECTION.set_timestamp","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__wt_txn_global_set_timestamp:421:set_timestamp: oldest timestamp (1650735870, 106) must not be after the stable timestamp (1650735870, 6)","error_str":"Invalid argument","error_code":22}}}
      [js_test:startup_recovery_for_restore_needs_rollback] d20521| {"t":{"$date":"2022-04-23T17:44:42.511+00:00"},"s":"F",  "c":"ASSERT",   "id":23083,   "ctx":"initandlisten","msg":"Invariant failure","attr":{"expr":"_conn->set_timestamp(_conn, oldestTSConfigString.c_str())","error":"BadValue: 22: Invalid argument","file":"src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp","line":2282}}
      [js_test:startup_recovery_for_restore_needs_rollback] d20521| {"t":{"$date":"2022-04-23T17:44:42.511+00:00"},"s":"F",  "c":"ASSERT",   "id":23084,   "ctx":"initandlisten","msg":"\n\n***aborting after invariant() failure\n\n"}
      

      There are complaints about setting the durable timestamp before stable, here's an example from disk_wiredtiger, at: https://logkeeper.mongodb.org/build/ec4076fcbe010429d5ba553821902f95/test/62642f26be07c42af4119b16?raw=1

      {"ts_sec":1650732901,"ts_usec":804554,"thread":"11348:0x7fbc01cb3700","session_name":"WT_CONNECTION.set_timestamp","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__wt_txn_global_set_timestamp:409:set_timestamp: durable timestamp (0, 1) must not be before the stable timestamp (1650732887, 2)","error_str":"Invalid argument","error_code":22}}}
      [js_test:repair_invalidates_replica_set_config] d20021| {"t":{"$date":"2022-04-23T16:55:01.804+00:00"},"s":"F",  "c":"ASSERT",   "id":23083,   "ctx":"ReplCoordExtern-0","msg":"Invariant failure","attr":{"expr":"_conn->set_timestamp(_conn, oldestTSConfigString.c_str())","error":"BadValue: 22: Invalid argument","file":"src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp","line":2282}}
      

            Assignee:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Reporter:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: