diff options
Diffstat (limited to 'src/third_party/wiredtiger/src/include/btree.i')
-rw-r--r-- | src/third_party/wiredtiger/src/include/btree.i | 8 |
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); |