[disagg] test/format disagg-switch: mirror data mismatch (table_verify_mirror base_keyno == table_keyno) after disagg_switch_roles

XMLWordPrintableJSON

    Signature

    test/format mirror check aborts with a base-vs-mirror data mismatch after a disagg role switch. The abort is raised by the format harness (testutil_die) from table_verify_mirror, reached via wts_verify_mirrors from disagg_switch_roles.

    __wt_abort (session=NULL)  (os_abort.c:32)
    testutil_die  (test/utility/misc.c:75)
    table_verify_mirror  (test/format/verify.c:227 / :368  -- base_keyno == table_keyno)
    wts_verify_mirrors  (test/format/verify.c:474)
    disagg_switch_roles  (test/format/format_disagg.c:433)
    main  (test/format/t.c:415)
    

    Data-validation variants surface the same failure as mirror error: base cursor ... FAIL.pagedump.N with the page-dump helper crashing (signal 11) while dumping the mismatched page.

    Scope

    First seen on wiredtiger @ 397a2328. Reproduces across disagg switch / switch-data-validation format-stress variants (arm64 / asan / stress / release-nonstandalone). Grouped from 8 BFG instances.

    Triage notes

    BuildBaron's top suggestion WT-17799 does NOT match: WT-17799's abort is table_verify (verify.c:62) via wts_verify, triggered by __verify_page_discard PALI/btree page-count mismatch ("Discarded page is still in use") on a single table. This failure is a cross-table mirror data mismatch in table_verify_mirror under disagg_switch_roles — different function, call path, and assertion. Possibly the same underlying disagg page-discard area as WT-17799, but a distinct symptom. The underlying faults were masked by WT-18090 installer.sh toolchain noise; the real signature was recovered from the extracted core stacks.

          Assignee:
          [DO NOT USE] Backlog - Storage Engines Team
          Reporter:
          xgen-buildbaron-user
          Votes:
          0 Vote for this issue
          Watchers:
          4 Start watching this issue

            Created:
            Updated:
            Resolved: