diff options
author | Luke Chen <luke.chen@mongodb.com> | 2021-05-25 16:05:20 +1000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-05-25 06:28:10 +0000 |
commit | 9a324616c6557efc15ee6bf0c42587c0f475e573 (patch) | |
tree | 01263476e5e55e979bb7b357e3d197015e90b440 | |
parent | 882833bcbaf88c73e16a46d25ef350238bc4e096 (diff) | |
download | mongo-9a324616c6557efc15ee6bf0c42587c0f475e573.tar.gz |
Import wiredtiger: 912ceefab6bf5e7287952e713ef5c8b6af648fa2 from branch mongodb-5.0r5.0.0-rc0
ref: f0d322252d..912ceefab6
for: 5.0.0
WT-7531 Consider update restore eviction as a progress
-rw-r--r-- | src/third_party/wiredtiger/import.data | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/btree/bt_split.c | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data index 6a9d82ba451..73a1db81000 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.0", - "commit": "f0d322252d4becd1b4d183c0a2d62bb904b5b3a6" + "commit": "912ceefab6bf5e7287952e713ef5c8b6af648fa2" } diff --git a/src/third_party/wiredtiger/src/btree/bt_split.c b/src/third_party/wiredtiger/src/btree/bt_split.c index 6fc62f0a52b..57de379f09e 100644 --- a/src/third_party/wiredtiger/src/btree/bt_split.c +++ b/src/third_party/wiredtiger/src/btree/bt_split.c @@ -2257,10 +2257,12 @@ __wt_split_rewrite(WT_SESSION_IMPL *session, WT_REF *ref, WT_MULTI *multi) * Pages with unresolved changes are not marked clean during reconciliation, do it now. * * Don't count this as eviction making progress, we did a one-for-one rewrite of a page in - * memory, typical in the case of cache pressure. + * memory, typical in the case of cache pressure unless the cache is configured for scrub and + * page doesn't have any skipped updates. */ __wt_page_modify_clear(session, page); - F_SET_ATOMIC(page, WT_PAGE_EVICT_NO_PROGRESS); + if (F_ISSET(S2C(session)->cache, WT_CACHE_EVICT_SCRUB) && !multi->supd_restore) + F_SET_ATOMIC(page, WT_PAGE_EVICT_NO_PROGRESS); __wt_ref_out(session, ref); /* Swap the new page into place. */ |