Add error check for incompatible config with write_timestamp_usage=never in disagg

XMLWordPrintableJSON

    • Storage Engines, Storage Engines - Transactions
    • SE Transactions - 2025-09-12
    • 3

      When running test_timestamp26.py with disagg hook, an abort was hit observing unexpected timestamp usage during transaction commit:

      [pid:8411]: None ... [pid:8411]: test_timestamp26.test_timestamp26_log_ts.test_log_ts -s 3 (row.never): starting
      [pid:8411]:     Replacing, old uri = "table:ts"
      [pid:8411]:     Replacing, new uri = "layered:ts"
      [pid:8411]:     Creating "layered:ts" with config = "key_format=S,value_format=S,write_timestamp_usage=never"
      Aborted (core dumped)

      The backtrace from the core file:

      (gdb) bt
      #0  __pthread_kill_implementation (threadid=274589753222176, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
      #1  0x0000f9bce88af244 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
      #2  0x0000f9bce886a67c in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
      #3  0x0000f9bce8857130 in __GI_abort () at ./stdlib/abort.c:79
      #4  0x0000f9bce7a2d328 in __wt_abort (session=session@entry=0xc3b03ec55f20) at /home/ubuntu/work/wiredtiger/src/os_common/os_abort.c:31
      #5  0x0000f9bce7b02374 in __wt_txn_timestamp_usage_check (session=0xc3b03ec55f20, op=<optimized out>, op_ts=<optimized out>, prev_op_durable_ts=0)
          at /home/ubuntu/work/wiredtiger/src/include/txn_inline.h:586
      #6  0x0000f9bce7b07f10 in __wt_txn_op_set_timestamp (session=session@entry=0xc3b03ec55f20, op=op@entry=0xc3b03ec13a10, validate=validate@entry=true)
          at /home/ubuntu/work/wiredtiger/src/include/txn_inline.h:672
      #7  0x0000f9bce7b0a200 in __wt_txn_commit (session=session@entry=0xc3b03ec55f20, cfg=cfg@entry=0xfffff29599d0) at /home/ubuntu/work/wiredtiger/src/txn/txn.c:1757
      #8  0x0000f9bce7ab4994 in __session_commit_transaction (wt_session=0xc3b03ec55f20, config=<optimized out>) at /home/ubuntu/work/wiredtiger/src/session/session_api.c:1860
      #9  0x0000f9bce7dd8fb0 in _wrap_Session_commit_transaction (self=<optimized out>, args=<optimized out>)
          at /home/ubuntu/work/wiredtiger/build/lang/python/CMakeFiles/wiredtiger_python.dir/wiredtigerPYTHON_wrap.c:6981
      #10 0x0000c3b028b73edc in ?? ()
      #11 0x0000c3b028b6a480 in _PyObject_MakeTpCall ()
      #12 0x0000c3b028b83e1c in ?? ()
      #13 0x0000c3b028b60f1c in _PyEval_EvalFrameDefault ()
      #14 0x0000c3b028b83b28 in ?? ()
      #15 0x0000c3b028b5cab4 in _PyEval_EvalFrameDefault ()
      #16 0x0000c3b028b74b48 in _PyFunction_Vectorcall ()
      --Type <RET> for more, q to quit, c to continue without paging-- 

      The command to reproduce the failure:

      $ python3 ../test/suite/run.py -v 2 --hook disagg test_timestamp26.py 

            Assignee:
            Zunyi Liu
            Reporter:
            Luke Chen
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: