Fix disagg page decoding in wt_binary_decode

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • WT12.0.0
    • Affects Version/s: None
    • Component/s: Tools
    • None

      The wt_binary_decode tool added a --disagg option to decode disagg pages. However, the header decoding has not been updated to reflect the latest data format changes. We need to update the header decoding to correctly decode WT_BLOCK_DISAGG_HEADER.

      Example delta page:

      [1765258643:986002][7884:0x7fa6eefc4540], file:test_layered18.wt_stable/WiredTigerCheckpoint.11, WT_CURSOR.search: [WT_VERB_DEFAULT][ERROR]: int __wt_bm_corrupt_dump(WT_SESSION_IMPL *, WT_ITEM *, uint32_t, wt_off_t, uint32_t, uint32_t), 91: {0: 100, 64, 0x6cba7954}: (chunk 1 of 1): 00 00 00 00 00 00 00 00 16 00 00 00 00 00 00 00 40 00 00 00 02 00 00 00 07 00 00 00 dd 01 01 2c 54 79 ba 6c 24 f2 49 d4 01 00 00 00 09 30 00 8c 28 c0 2e a5 80 8a 88 62 62 62 30 2d 31 30 00 00 
      

      Current output:

      ./wt_binary_decode.py --disagg --dumpin --verbose ../page.txt
      
      LINE (len=128): 00000000000000001600000000000000400000000200000007000000dd01012c5479ba6c24f249d4010000000930008c28c02ea5808a88626262302d31300000
      first=0, last=0
      Decode at 0 (0x0)
      Page Header:
        recno: 0
        writegen: 22
        memsize: 64
        ncells (oflow len): 2
        page type: 7 (WT_PAGE_ROW_LEAF)
        page flags: 0x0
        version: 0
      Block Header:
        disk_size: 64
        checksum: 0x6cba7954
        block flags: 0x0
      0: desc: 0x9 short key 2 bytes:
        "0"
      1: desc: 0x8c extra: 0x28
        cell has timestamps:
         start ts: 0x6e
         start txn: 0x25
        runlength/addr: 0 (0x0)
        val 10 bytes:
        "<packed 8 (0x8)> bbb0-10"
      

            Assignee:
            Sean Watt
            Reporter:
            Sean Watt
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: