Remove leftover tiered header types

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • WT12.0.0
    • 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.

            Assignee:
            Luke Pearson
            Reporter:
            Luke Pearson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: