Strip leftover flush_tier, storage-source API, and tiered dhandles

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • WT12.0.0
    • Affects Version/s: None
    • Component/s: APIs
    • None
    • Storage Engines - Persistence
    • 277.642
    • SE Persistence backlog
    • None

      Problem

      checkpoint_txn.c still implements flush_tier. conn_api still implements add_storage_source / get_storage_source / remove_storage_source, close final_flush, and __wt_tiered_conn_config. conn_open / conn_handle / conn_reconfig still start and stop the tiered server. conn_dhandle.c still allocates WT_TIERED handles for tiered: / tier: URIs. src/tiered stays in the tree; this ticket only strips those call sites.

      Change

      In checkpoint_txn.c: delete __checkpoint_flush_tier and __checkpoint_flush_tier_wait; strip flush_tier parse/call sites. Checkpoint with flush_tier= must fail or no-op without calling __wt_tiered_switch; prefer a clear error.

      In conn_api.c: strip or ENOTSUP the storage-source methods, final_flush destroy, vtable entries, and the __wt_tiered_conn_config call. If removing add_storage_source from the vtable requires wiredtiger.h.in / SWIG, do the minimum so it compiles, or leave ENOTSUP stubs. Do not delete dir_store or src/tiered.

      In conn_open.c / conn_handle.c / conn_reconfig.c: strip __wti_tiered_storage_create / _destroy and __wti_conn_tiered_init / _destroy and __wt_tiered_conn_config. Replace connection tiered_storage= enabled with parse + error-if-enabled. Do not delete the config keys from api_data.py.

      In conn_dhandle.c: strip WT_DHANDLE_TYPE_TIERED / TIERED_TREE alloc and open/close/discard arms. Leftover tiered: / tier: URIs must not open a WT_TIERED handle.

      Do not take session/cursor/meta/btree/block/err/txn/util/schema leftover branches (separate ticket). Do not remove WT_TIERED / WT_DHANDLE_TYPE_TIERED / bstorage header fields. Do not delete src/tiered, conn_tiered.c, or block_tier.c. Leave table/file tiered_storage= / tiered_object parse stubs.

      Test

      Ninja Debug + Python. cd dist && ./s_fast. If flush_tier, add_storage_source, or leftover URI open now refuse with a stable error, extend test/suite/test_tiered_deprecate.py with those cases (measured message/errno). Do not assert ENOENT. 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: