summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Chen <luke.chen@mongodb.com>2022-12-05 16:26:00 +1100
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-12-05 05:54:13 +0000
commit55da6eb8d2ee810cba946c4bf2606c15afd1f275 (patch)
tree2e0a3a76a896727f374e11e67b9c61a3f32623ea
parent4f3a1bacec04208b2f763a5e1b13d30b4fa29470 (diff)
downloadmongo-55da6eb8d2ee810cba946c4bf2606c15afd1f275.tar.gz
Import wiredtiger: 2f5d15ff28b6fd3351524cc8bcbd5b6ecc489670 from branch mongodb-5.0
ref: 9e3e02fd3e..2f5d15ff28 for: 5.0.15 WT-9428 Fix two asserts in rec_visibility.c
-rw-r--r--src/third_party/wiredtiger/import.data2
-rw-r--r--src/third_party/wiredtiger/src/reconcile/rec_visibility.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data
index df3946cbfea..63bb920d1ae 100644
--- a/src/third_party/wiredtiger/import.data
+++ b/src/third_party/wiredtiger/import.data
@@ -2,5 +2,5 @@
"vendor": "wiredtiger",
"github": "wiredtiger/wiredtiger.git",
"branch": "mongodb-5.0",
- "commit": "9e3e02fd3e5a0e536c91fcdc4464429638cd6c23"
+ "commit": "2f5d15ff28b6fd3351524cc8bcbd5b6ecc489670"
}
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));
/*