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

Don't load the wrong extent lists in __wt_block_checkpoint_load

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT11.2.0, 7.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None

      __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.

            Assignee:
            keith.smith@mongodb.com Keith Smith
            Reporter:
            keith.smith@mongodb.com Keith Smith
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: