summaryrefslogtreecommitdiff
path: root/src/btree/bt_read.c
diff options
context:
space:
mode:
authorMichael Cahill <michael.cahill@mongodb.com>2016-08-29 22:22:24 +1000
committerMichael Cahill <michael.cahill@mongodb.com>2016-08-29 22:22:24 +1000
commit7d3c0f9f50862798270cf38663255202e5bcf3fd (patch)
treee3a9cf534da8ba6ea318cb88c0271a4c9dcbf01b /src/btree/bt_read.c
parent2566118fc68b0124187e806bed52eb7cdbcb1be0 (diff)
parent8b40b2f8051dd88044d1437d2fe483c5c92e72b5 (diff)
downloadmongodb-3.3.12.tar.gz
Merge branch 'develop' into mongodb-3.4mongodb-3.3.12
Diffstat (limited to 'src/btree/bt_read.c')
-rw-r--r--src/btree/bt_read.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/btree/bt_read.c b/src/btree/bt_read.c
index fd9c371f8c3..b096fd432e9 100644
--- a/src/btree/bt_read.c
+++ b/src/btree/bt_read.c
@@ -327,6 +327,13 @@ __evict_force_check(WT_SESSION_IMPL *session, WT_REF *ref)
if (__wt_hazard_count(session, page) > 1)
return (false);
+ /*
+ * If we have already tried and the transaction state has not moved on,
+ * eviction is highly likely to fail.
+ */
+ if (page->modify->last_oldest_id == __wt_txn_oldest_id(session))
+ return (false);
+
if (page->memory_footprint < btree->maxmempage)
return (__wt_leaf_page_can_split(session, page));