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

Checkpoint generation update during history store checkpoint

    • 3
    • Storage - Ra 2021-04-05

      After we checkpoint the history store we don't bump the checkpoint_generation. The checkpoint generation controls whether we include the checkpoint transaction in our calculations of the pinned and oldest_ids for a given btree.

      But because we release the checkpoint_timestamp and checkpoint_txn_shared.pinned_id almost immediately after finishing checkpointing the history store as such it shouldn't have that big of an impact.

      The fix should be:

      diff --git a/src/txn/txn_ckpt.c b/src/txn/txn_ckpt.c
      index d9a15ed06..dd959c2eb 100644
      --- a/src/txn/txn_ckpt.c
      +++ b/src/txn/txn_ckpt.c
      @@ -899,6 +899,7 @@ __txn_checkpoint(WT_SESSION_IMPL *session, const char *cfg[])
               time_start_hs = __wt_clock(session);
               WT_WITH_DHANDLE(session, hs_dhandle, ret = __wt_checkpoint(session, cfg));
               WT_ERR(ret);
      +        __checkpoint_update_generation(session);
               time_stop_hs = __wt_clock(session);
               hs_ckpt_duration_usecs = WT_CLOCKDIFF_US(time_stop_hs, time_start_hs);
               WT_STAT_CONN_SET(session, txn_hs_ckpt_duration, hs_ckpt_duration_usecs);
      
      

            Assignee:
            etienne.petrel@mongodb.com Etienne Petrel
            Reporter:
            luke.pearson@mongodb.com Luke Pearson
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: