-
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.
- is related to
-
WT-14730 Validate immutable metadata config fields on checkpoint pickup
-
- Closed
-
-
WT-18150 Panic on btree ID conflict when picking up a new layered table
-
- Closed
-
-
WT-18543 Move the checkpoint pickup btree id validation into file metadata update
-
- Closed
-
- related to
-
WT-18466 7.78% increase in reconfigure update pickup (ms) in Variant amazon2023-perf-tests-arm64 for Task perf-disagg-many-tables-follower-update in Test disagg_many_tables_follower_update_perf.py
-
- Closed
-