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

Remove excess ckplist invalidations

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT10.0.1, 4.4.9, 5.0.3, 5.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • 2
    • Storage - Ra 2021-06-14, Storage - Ra 2021-07-26, Storage - Ra 2021-08-09

      This ticket tracks some of the work required after merging WT-7381 to refactor and clean up the code:

      Evaluate if we need to free the checkpoint list multiple times in __wt_checkpoint_close(). This came out of code review for WT-7381, following the comment. Initially there were a couple more places the initial change followed the pattern:

      __wt_meta_saved_ckptlist_free(session);
      // Take a checkpoint for an individual file
      __wt_meta_saved_ckptlist_free(session);
      

      The initial objective here was to clean the saved checkpoint list before checkpointing an individual file, and then clean after. The intention here was that as part of the system-wide checkpoint, a file slow paths by reading checkpoints from metadata, if that file was checkpointed outside the periodic system checkpointing.

      Over the course of refining the change, __wt_checkpoint_close is the only place left with this pattern, and might not actually need clearing the saved list after the checkpoint, because it will likely be destroyed by a btree close. So we can likely get rid of that extra call to __wt_checkpoint_close().

      Also, with a refactor of how we use the saved checkpoint list, WT-7524, the usage became more widely available to all the callers of __wt_meta_ckptlist_get.

      This ticket will try to find the calls to __wt_meta_saved_ckptlist_free() that are not needed anymore, and get rid of them.

            Assignee:
            sulabh.mahajan@mongodb.com Sulabh Mahajan
            Reporter:
            sulabh.mahajan@mongodb.com Sulabh Mahajan
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: