summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Chen <luke.chen@mongodb.com>2021-05-25 16:05:20 +1000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-05-25 06:28:10 +0000
commit9a324616c6557efc15ee6bf0c42587c0f475e573 (patch)
tree01263476e5e55e979bb7b357e3d197015e90b440
parent882833bcbaf88c73e16a46d25ef350238bc4e096 (diff)
downloadmongo-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.data2
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_split.c6
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. */