summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/include/serial.i
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/include/serial.i')
-rw-r--r--src/third_party/wiredtiger/src/include/serial.i8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/third_party/wiredtiger/src/include/serial.i b/src/third_party/wiredtiger/src/include/serial.i
index c5758ee605a..d471ebb399c 100644
--- a/src/third_party/wiredtiger/src/include/serial.i
+++ b/src/third_party/wiredtiger/src/include/serial.i
@@ -263,6 +263,7 @@ __wt_update_serial(WT_SESSION_IMPL *session, WT_PAGE *page,
{
WT_DECL_RET;
WT_UPDATE *obsolete, *upd = *updp;
+ wt_timestamp_t *obsolete_timestamp;
uint64_t txn;
/* Clear references to memory we now own and must free on error. */
@@ -309,11 +310,14 @@ __wt_update_serial(WT_SESSION_IMPL *session, WT_PAGE *page,
* is used as an indicator of there being further updates on this page.
*/
if ((txn = page->modify->obsolete_check_txn) != WT_TXN_NONE) {
- if (!__wt_txn_visible_all(session, txn, NULL)) {
+ obsolete_timestamp =
+ WT_TIMESTAMP_NULL(&page->modify->obsolete_check_timestamp);
+ if (!__wt_txn_visible_all(session, txn, obsolete_timestamp)) {
/* Try to move the oldest ID forward and re-check. */
WT_RET(__wt_txn_update_oldest(session, 0));
- if (!__wt_txn_visible_all(session, txn, NULL))
+ if (!__wt_txn_visible_all(
+ session, txn, obsolete_timestamp))
return (0);
}