summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Chen <luke.chen@mongodb.com>2021-10-25 14:11:00 +1100
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-10-25 03:40:20 +0000
commit4a4da3e8c2ecb4a1a51eff760714b1b74ce67bbf (patch)
tree561909e2c2c105ec2d5bdd2f74d9b66e8fed52fa
parent18eca3283a0c95b9a0ec847e5d1264a112384402 (diff)
downloadmongo-4a4da3e8c2ecb4a1a51eff760714b1b74ce67bbf.tar.gz
Import wiredtiger: bfcac76ea0dae325f0134818fb32bbe134eec71d from branch mongodb-5.1
ref: 4692a64202..bfcac76ea0 for: 5.1.0-rc2 WT-8163 Consider more eviction scenarios to give up checkpoint-cleanup
-rw-r--r--src/third_party/wiredtiger/import.data2
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_sync.c8
2 files changed, 7 insertions, 3 deletions
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data
index 23fbe4ce508..2b73f34dcde 100644
--- a/src/third_party/wiredtiger/import.data
+++ b/src/third_party/wiredtiger/import.data
@@ -2,5 +2,5 @@
"vendor": "wiredtiger",
"github": "wiredtiger/wiredtiger.git",
"branch": "mongodb-5.1",
- "commit": "4692a642021eff5b40438a8b4ee0bf85be9d9dc8"
+ "commit": "bfcac76ea0dae325f0134818fb32bbe134eec71d"
}
diff --git a/src/third_party/wiredtiger/src/btree/bt_sync.c b/src/third_party/wiredtiger/src/btree/bt_sync.c
index 8888fa61ae7..5886d71f2be 100644
--- a/src/third_party/wiredtiger/src/btree/bt_sync.c
+++ b/src/third_party/wiredtiger/src/btree/bt_sync.c
@@ -385,8 +385,12 @@ __sync_page_skip(WT_SESSION_IMPL *session, WT_REF *ref, void *context, bool *ski
if (ref->state != WT_REF_DISK)
return (0);
- /* Don't read any pages when the cache is operating in aggressive mode. */
- if (__wt_cache_aggressive(session)) {
+ /*
+ * Reading any page that is not in the cache will increase the cache size. Perform a set of
+ * checks to verify the cache can handle it.
+ */
+ if (__wt_cache_aggressive(session) || __wt_cache_full(session) || __wt_cache_stuck(session) ||
+ __wt_eviction_needed(session, false, false, NULL)) {
*skipp = true;
return (0);
}