WT-14730 added validation of immutable metadata fields on disagg checkpoint pickup. In non-diagnostic builds it validates the btree id of every file: entry present in both the local and the shared metadata, it compares the two configuration strings, and when they differ, extracts id from each with a separate __wt_config_getones scan.
This caused WT-18502, a ~13% regression in disagg follower reconfigure pickup. When the leader has dirtied a table, its metadata entry always differs(new checkpoint), so the byte-compare fast path never helps and every dirtied entry pays two extra full config scans — work that duplicates the parsing __disagg_update_file_meta does immediately afterwards, which already extracts the checkpoint field from both values.
Fix:
1. Extract checkpoint and id from each metadata value in a single config walk inside __disagg_update_file_meta.
2. Make __disagg_check_meta_match (the full field-by-field comparison) and its call in the pickup walk diagnostic-only.