Avoid re-parsing file metadata when collecting btree ids during checkpoint pickup

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Metadata
    • None
    • Storage Engines - Transactions
    • 136.893
    • SE Transactions - 2026-09-11
    • 3

      WT-18150 made checkpoint pickup collect every local stable file's btree id to check for duplicates, costing a get_value + __wt_config_getones("id") scan per table per pickup — ~7% regression in disagg_many_tables_follower_update_perf.py, even when no table changed.

      Fix:

      1. Append ids from parses that already happen — the update path (which since WT-18543 parses id alongside checkpoint) and the insert path — instead of a dedicated scan in the walk body; keep a fallback parse only for local-only entries that reach neither path.
      2. A new duplicate can only be introduced by adopting a new entry(updates cannot change an id and this is guarded by WT-14730), so skip the duplicate check entirely when the pickup inserted nothing.

            Assignee:
            Zunyi Liu
            Reporter:
            Zunyi Liu
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: