summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/reconcile/rec_visibility.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/reconcile/rec_visibility.c')
-rw-r--r--src/third_party/wiredtiger/src/reconcile/rec_visibility.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/third_party/wiredtiger/src/reconcile/rec_visibility.c b/src/third_party/wiredtiger/src/reconcile/rec_visibility.c
index b2ae3a86048..129e286d43c 100644
--- a/src/third_party/wiredtiger/src/reconcile/rec_visibility.c
+++ b/src/third_party/wiredtiger/src/reconcile/rec_visibility.c
@@ -536,8 +536,6 @@ __rec_upd_select(WT_SESSION_IMPL *session, WT_RECONCILE *r, WT_UPDATE *first_upd
*/
if (*first_txn_updp == NULL)
*first_txn_updp = upd;
- if (WT_TXNID_LT(max_txn, txnid))
- max_txn = txnid;
/*
* Special handling for application threads evicting their own updates.
@@ -596,8 +594,6 @@ __rec_upd_select(WT_SESSION_IMPL *session, WT_RECONCILE *r, WT_UPDATE *first_upd
if (F_ISSET(r, WT_REC_CHECKPOINT)) {
*upd_memsizep += WT_UPDATE_MEMSIZE(upd);
*has_newer_updatesp = true;
- if (upd->start_ts > max_ts)
- max_ts = upd->start_ts;
seen_prepare = true;
continue;
} else {
@@ -617,14 +613,17 @@ __rec_upd_select(WT_SESSION_IMPL *session, WT_RECONCILE *r, WT_UPDATE *first_upd
}
}
- /* Track the first update with non-zero timestamp. */
- if (upd->start_ts > max_ts)
- max_ts = upd->start_ts;
-
/* Always select the newest committed update to write to disk */
if (upd_select->upd == NULL)
upd_select->upd = upd;
+ /* Track the selected update transaction id and timestamp. */
+ if (WT_TXNID_LT(max_txn, txnid))
+ max_txn = txnid;
+
+ if (upd->start_ts > max_ts)
+ max_ts = upd->start_ts;
+
/*
* We only need to walk the whole update chain if we are evicting metadata as it is written
* with read uncommitted isolation and we may see a committed update followed by uncommitted