diff options
author | Luke Chen <luke.chen@mongodb.com> | 2021-10-25 14:11:00 +1100 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-10-25 03:40:20 +0000 |
commit | 4a4da3e8c2ecb4a1a51eff760714b1b74ce67bbf (patch) | |
tree | 561909e2c2c105ec2d5bdd2f74d9b66e8fed52fa | |
parent | 18eca3283a0c95b9a0ec847e5d1264a112384402 (diff) | |
download | mongo-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.data | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/btree/bt_sync.c | 8 |
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); } |