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

XMLWordPrintableJSON

    • Storage Engines
    • StorEng - Defined Pipeline
    • None

      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
            Reporter:
            Peter Macko
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: