-
Type: Technical Debt
-
Resolution: Unresolved
-
Priority: 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:
- Determine whether there is ever a need to treat the dhandle of a local file of a tiered table as a btree handle.
- 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.