-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Tiered Storage
-
None
-
Storage Engines - Persistence
-
272.631
-
SE Persistence backlog
-
None
Problem
After runtime, plugin, public API, and header types landed, leftover dead code and incomplete deprecation coverage remain: block-manager multi-handle fields that are always false, parse-stub help text that still describes live tiered storage, and test_tiered_deprecate.py missing session.create of a tiered: URI and truncate of a tiered: URI.
Change
Validate callers and data flow first. Do not delete address-cookie objectid or WT_TIERED_OBJECTID_NONE.
Delete dead WT_BM multi-handle state: is_multi_handle, handle_array (pointer, allocated, lock, next), next_block, prev_block, max_flushed_objectid, unused switch_object vtable slots, and the never-taken close/sync/checkpoint branches. Drop matching asserts that only exist to say is_multi_handle is false. Confirm live restore and disagg do not use these fields; stop if they do.
If otherwise unused: drop write-only flush_most_recent_secs and flush_most_recent_ts on WT_BTREE, stop applying WT_BTREE_NO_CHECKPOINT from leftover tiered_object, delete the .wtobj close in conn_dhandle.c, and fix the dhandle dump string that still names tiered work.
Restyle remaining tiered_storage= / tiered_object help in dist/api_data.py to LSM-style wording (undoc=True, preserved to parse old metadata). Keep all eight subkeys. Run dist/s_all as required for generated config.
Expand test_tiered_deprecate.py with session.create and truncate of a tiered: URI. Do not freeze ENOENT or success as the expected error.
If table or file create still accepts tiered_storage.name set to something other than none, error the same way connection open/reconfig does.
Keep parse stubs. Do not delete __wt_compact_check_eligibility. Do not change WT_DHANDLE_TYPE_NUM. Do not write upgrading.dox.
Test
python3 ../test/suite/run.py test_tiered_deprecate from build/. Smallest relevant Catch2/block tests if block-manager methods change. cd dist && ./s_fast.