Fix for disagg: "value time window has a start time before its parent's oldest start time"

XMLWordPrintableJSON

      We are experiencing the following test failure with disagg enabled:

      [1756400991:998413][63286:0x7bb40be37740], file:table2.wt_stable, close_ckpt: [WT_VERB_DEFAULT][ERROR]: int __time_value_validate_parent(WT_SESSION_IMPL *, WT_TIME_WINDOW *, WT_TIME_AGGREGATE *, _Bool), 424: value time window has a start time before its parent's oldest start time; time window start: (0, 0)/(0, 0)/(0, 0)/0/0 | stop: (0, 0)/(4294967295, 4294967295)/(0, 0)/0/18446744073709551605, parent newest_durable: (0, 21535)/(0, 0) | oldest_start: (0, 4843)/11 | newest_stop: (4294967295, 4294967295)/18446744073709551605: Invalid argument
      [1756400991:998453][63286:0x7bb40be37740], file:table2.wt_stable, close_ckpt: [WT_VERB_DEFAULT][ERROR]: int __verify_dsk_value_validity(WT_CELL_UNPACK_KV *, WT_VERIFY_INFO *), 255: cell 4294967295 on page at [reconcile-image] failed timestamp validation: Invalid argument
      [1756400991:998458][63286:0x7bb40be37740], file:table2.wt_stable, close_ckpt: [WT_VERB_DEFAULT][ERROR]: int __rec_split_write(WT_SESSION_IMPL *, WTI_RECONCILE *, WTI_REC_CHUNK *, _Bool), 2932: WiredTiger assertion failed: 'verify_image == 0 || __wt_verify_dsk_image(session, "[reconcile-image]", chunk->image.data, 0, &multi->addr, 0x2u) == 0'. Expression returned false
      [1756400991:998469][63286:0x7bb40be37740], file:table2.wt_stable, close_ckpt: [WT_VERB_DEFAULT][ERROR]: void __wt_abort(WT_SESSION_IMPL *), 29: aborting WiredTiger library
      Failed to run the workload in WiredTiger: The workload process was terminated with signal 6
      

      It can be reproduced with the following test/model workload:

      config("database", "disaggregated=true")
      create_table(2, "table2", "Q", "Q")
      begin_transaction(4)
      insert(2, 4, 203392, 370921)
      commit_transaction(4, 4843, 0)
      begin_transaction(14)
      insert(2, 14, 777202, 503158)
      insert(2, 14, 583955, 602817)
      insert(2, 14, 554387, 105478)
      insert(2, 14, 783202, 895932)
      insert(2, 14, 999910, 27303)
      insert(2, 14, 716435, 97498)
      commit_transaction(14, 18977, 0)
      begin_transaction(19)
      insert(2, 19, 3556, 854833)
      insert(2, 19, 773158, 930810)
      insert(2, 19, 178863, 131014)
      insert(2, 19, 923384, 195844)
      commit_transaction(19, 21535, 0)
      set_stable_timestamp(22973)
      checkpoint()
      begin_transaction(50)
      set_oldest_timestamp(5410)
      insert(2, 50, 750571, 41971)
      commit_transaction(50, 72344, 0)
      

      It is possible that this is related to WT-14565.

            Assignee:
            Chenhao Qu
            Reporter:
            Peter Macko
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: