summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/btree/bt_read.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/btree/bt_read.c')
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_read.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/src/btree/bt_read.c b/src/third_party/wiredtiger/src/btree/bt_read.c
index 6baf6f780df..77196a7175b 100644
--- a/src/third_party/wiredtiger/src/btree/bt_read.c
+++ b/src/third_party/wiredtiger/src/btree/bt_read.c
@@ -381,6 +381,13 @@ read:
goto skip_evict;
/*
+ * Don't evict if we are operating in a transaction on a checkpoint cursor. Eviction
+ * would use the cursor's snapshot, which won't be correct.
+ */
+ if (F_ISSET(session->txn, WT_TXN_IS_CHECKPOINT))
+ goto skip_evict;
+
+ /*
* Forcibly evict pages that are too big.
*/
if (force_attempts < 10 && __evict_force_check(session, ref)) {