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

Use onpage visibility check helpers in __wt_txn_update_check

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT10.0.0, 4.4.1, 4.7.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • 1
    • Storage - Ra 2020-06-29, Storage - Ra 2020-07-13, Storage - Ra 2020-07-27

      This visibility check here ignores prepare written to the disk.

      /*
           * Check conflict against the on page value if there is no update on the update chain except
           * aborted updates. Otherwise, we would have either already detected a conflict if we saw an
           * uncommitted update or determined that it would be safe to write if we saw a committed update.
           */
          if (!rollback && upd == NULL && cbt != NULL && CUR2BT(cbt)->type != BTREE_COL_FIX &&
            cbt->ins == NULL) {
              __wt_read_cell_time_window(cbt, cbt->ref, &tw);
              if (tw.stop_txn != WT_TXN_MAX && tw.stop_ts != WT_TS_MAX)
                  rollback = !__wt_txn_visible(session, tw.stop_txn, tw.stop_ts);
              else
                  rollback = !__wt_txn_visible(session, tw.start_txn, tw.start_ts);
          }
      

            Assignee:
            chenhao.qu@mongodb.com Chenhao Qu
            Reporter:
            chenhao.qu@mongodb.com Chenhao Qu
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: