-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
A tiered-related metadata item was added as part of WT-7514 called tiered_object, a boolean. In looking at resulting metadata listings after running a test, it seems it might be set inconsistently. This ticket is to discuss this item and figure out when it should have what values.
donald.anderson you added this setting in WT-7514. Its purpose there is that it is set as tiered_object=true on file:example-00000N.wtobj so that if a user opens a file: object directly, on its own, WiredTiger sees that setting as true and only allows read-only access to the file.
This is all fine. The interesting thing I found is that when a flush_tier switches objects, the resulting object:example-00000N.wtobj ends up with this setting as false. That is a bit non-intuitive. Things are correct as the only user of the setting is when trying to use the file:. It is also set to false because switching objects generates the object's metadata and the false is simply getting the default (i.e. we're not taking the file: metadata and reseting the value explicitly).
Some questions:
- Should the setting continue to be true when object: entries are created? I think probably yes.
- Should the setting be true in the tier:example entry? This entry is currently a "dummy" entry just indicating that there are objects already flushed to the cloud. I think maybe yes as anything "behind" the tier:example is a tiered object.
- Should the setting be true in the tiered:example entry? This entry is the top-level entry to the file, containing the tiers=("file:example-0000N.wtobj", "tier:example"). I think the answer is no here because this entry is not really a tiered object itself. Really only the file: and object: entries are tiered objects.