__wt_block_checkpoint_load() loads information about a checkpoint into the WT_BLOCK for the corresponding BTree. Specifically, it populates the WT_BLOCK.live structure with information about the checkpoint root, extent lists, and other information.
With tiered storage, there are typically multiple WT_BLOCKs backing each table. The problem here is that when we open the BTree – via __wt_btree_open() – we wind up putting information about the current checkpoint in the WT_BLOCK for the active file, even if the checkpoint isn't in that file.
For example, if the active file is foo-003.wtobj, but the most recent checkpoint was written to foo-002.wtobj then when WT opens the tiered table it will wind up with a WT_BLOCK for the foo-003.wtobj that has been initialized using the extent lists from foo-002.wtobj.
- is related to
-
WT-10734 Move cache of block handles to block manager layer
- Closed