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.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/third_party/wiredtiger/src/reconcile/rec_visibility.c b/src/third_party/wiredtiger/src/reconcile/rec_visibility.c
index caf7f183685..855fa327439 100644
--- a/src/third_party/wiredtiger/src/reconcile/rec_visibility.c
+++ b/src/third_party/wiredtiger/src/reconcile/rec_visibility.c
@@ -822,13 +822,16 @@ __wt_rec_upd_select(WT_SESSION_IMPL *session, WT_RECONCILE *r, WT_INSERT *ins, W
WT_ASSERT(session, upd_select->upd == NULL || upd_select->upd->txnid != WT_TXN_ABORTED);
/*
* We should never select an update that has been written to the history store except checkpoint
- * writes the update that is older than a prepared update.
+ * writes the update that is older than a prepared update or we need to first delete the update
+ * from the history store.
*/
WT_ASSERT(session,
upd_select->upd == NULL || !F_ISSET(upd_select->upd, WT_UPDATE_HS) ||
+ F_ISSET(upd_select->upd, WT_UPDATE_TO_DELETE_FROM_HS) ||
(!F_ISSET(r, WT_REC_EVICT) && seen_prepare));
WT_ASSERT(session,
tombstone == NULL || !F_ISSET(tombstone, WT_UPDATE_HS) ||
+ F_ISSET(tombstone, WT_UPDATE_TO_DELETE_FROM_HS) ||
(!F_ISSET(r, WT_REC_EVICT) && seen_prepare));
/*