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

Add recovery checkpoints that contain evicted prepared data to test/model

    • Storage Engines
    • StorEng - Defined Pipeline

      The latest code coverage report for test/model shows that it's not generating workloads where the recovery checkpoint (to which we are returning in RTS) contains evicted prepared data.

      Notably, we are not hitting the following line in __wti_rts_btree_walk_btree_apply:

              ret = __wt_config_subgets(session, &cval, "prepare", &value);
              if (ret == 0) {
                  if (value.val)
      >               prepared_updates = true;
              }
      

      And in __wti_rts_visibility_page_needs_abort:

              /* Calculate the max durable timestamp by traversing all multi addresses. */
              for (multi = mod->mod_multi, i = 0; i < mod->mod_multi_entries; ++multi, ++i) {
                  durable_ts = WT_MAX(
                    durable_ts, __rts_visibility_get_ref_max_durable_timestamp(session, &multi->addr.ta));
                  if (multi->addr.ta.prepare)
      >               prepared = true;
              }
      

      Increase the probability with which test/model's workload generator would hit this case.

            Assignee:
            peter.macko@mongodb.com Peter Macko
            Reporter:
            peter.macko@mongodb.com Peter Macko
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: