summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/include/btree.i
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/include/btree.i')
-rw-r--r--src/third_party/wiredtiger/src/include/btree.i8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/third_party/wiredtiger/src/include/btree.i b/src/third_party/wiredtiger/src/include/btree.i
index 9c29b72dc67..808c8f7ee7f 100644
--- a/src/third_party/wiredtiger/src/include/btree.i
+++ b/src/third_party/wiredtiger/src/include/btree.i
@@ -1350,11 +1350,9 @@ __wt_page_can_evict(WT_SESSION_IMPL *session, WT_REF *ref, bool *inmem_splitp)
F_ISSET_ATOMIC(ref->home, WT_PAGE_OVERFLOW_KEYS))
return (false);
- /*
- * If the page was restored after a truncate, it can't be evicted until
- * the truncate completes.
- */
- if (ref->page_del != NULL && !__wt_txn_visible_all(session,
+ /* A truncated page can't be evicted until the truncate completes. */
+ if (ref->page_del != NULL && ref->page_del->txnid != WT_TXN_ABORTED &&
+ !__wt_txn_visible_all(session,
ref->page_del->txnid, WT_TIMESTAMP_NULL(&ref->page_del->timestamp)))
return (false);