-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Tiered Storage
-
None
-
Storage Engines - Persistence
-
221.949
-
SE Persistence backlog
-
None
Problem
src/tiered and the public storage-source API are gone. Leftover internal types remain: src/include/tiered.h, WT_DHANDLE_TYPE_TIERED / TIERED_TREE, WT_BUCKET_STORAGE / bstorage, WT_CONN_TIERED, and a few C sites that still name those fields.
Change
Delete src/include/tiered.h and drop its typedefs/include from wt_internal.h.
Move WT_TIERED_OBJECTID_NONE (value 0) to a block header. Address-cookie objectid stays; do not delete pack/unpack or the objectid argument on __wt_block_open.
Drop WT_DHANDLE_TYPE_TIERED and WT_DHANDLE_TYPE_TIERED_TREE, their conn_dhandle.c cases, and the TIERED arm of WT_DHANDLE_BTREE. Keep the existing tiered: / tier: URI refuse in dhandle allocation.
Delete WT_BUCKET_STORAGE, WT_WITH_BUCKET_STORAGE, conn->bstorage / bstorage_none, session->bucket_storage, and btree->bstorage. Collapse S2FS to the connection file system. Drop the unused WT_BUCKET_STORAGE argument from __wt_block_disagg_manager_create (and the NULL at its caller). Do not otherwise change disagg.
Delete WT_CONN_TIERED and conn->tiered. Strip leftover checkpoint_txn.c uses of conn->tiered.flush_most_recent and the post-checkpoint signal to the deleted tiered thread. Delete WT_CONN_TIERED_FIRST_FLUSH, WT_CONN_TIERED_STORAGE_ENABLED, and __wt_process.tiered_shared_2023.
Drop dead schema leftover is_tiered_shared / the WT_COLGROUPS ternary if it is never written.
Run dist/s_all for flags, s_define.list, s_string.ok, and prototypes.
Keep table/file tiered_storage= / tiered_object parse stubs and connection error-if-enabled. Keep WT_FILE_SYSTEM, add_page_log, layered, import. Leave is_multi_handle / handle_array / next_block / prev_block / max_flushed_objectid unless they fail to compile without the deleted types.
Test
Ninja Debug + Python. cd dist && ./s_fast. python3 ../test/suite/run.py test_tiered_deprecate, plus a small checkpoint test that hits the stripped checkpoint_txn.c paths. Do not restore old functional test_tiered*.py.