Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-11562

WT_DHANDLE_BTREE macro should exclude local files of tiered tables

    • Type: Icon: Technical Debt Technical Debt
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None

      The WT_DHANDLE_BTREE() macro is used to determine whether a dhandle is backed by a btree. Currently it returns true for the dhandle of the local file of a tiered table. This seems incorrect. The local file by itself is not a btree; a tiered table's btree is spread across the local file and some number of other objects.

      For this ticket we should:

      1. Determine whether there is ever a need to treat the dhandle of a local file of a tiered table as a btree handle.
      2. If not, change the WT_DHANDLE_BTREE() macro to return false on the local file of a tiered table. This might be done by adding a test for !WT_SUFFIX_MATCH(dhandle->name, ".wtobj") to the macro.

      A simple way to address #1 would be to make the change and run a lot of tiered storage tests and see if anything breaks.

      This was prompted by WT-10823, where we needed to include the check for a wtobj suffix to stop __wt_conn_btree_apply_all() from trying (and failing) to operate on tiered local files. 

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            keith.smith@mongodb.com Keith Smith
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: