diff options
author | Luke Chen <luke.chen@mongodb.com> | 2021-04-27 10:26:30 +1000 |
---|---|---|
committer | Luke Chen <luke.chen@mongodb.com> | 2021-04-27 10:26:30 +1000 |
commit | 552e3487e1227e37f9d91d3294895c0049dfce18 (patch) | |
tree | 33911a03cd639e0151f96ed9031a9790b4bc8ff3 | |
parent | a230371af696ff2eaf17c1937fb0ca62dab476d3 (diff) | |
download | mongo-552e3487e1227e37f9d91d3294895c0049dfce18.tar.gz |
Import wiredtiger: 885403077cfdbabc8107b9522af57513952e6f85 from branch mongodb-4.4
ref: 8f90c3c292..885403077c
for: 4.4.6
WT-7373 Improve slow random cursor operations on oplog
-rw-r--r-- | src/third_party/wiredtiger/import.data | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/btree/bt_random.c | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data index 7170833789c..1c581648cb2 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-4.4", - "commit": "8f90c3c2923040725fb424b3a5c510bacc4ce380" + "commit": "885403077cfdbabc8107b9522af57513952e6f85" } diff --git a/src/third_party/wiredtiger/src/btree/bt_random.c b/src/third_party/wiredtiger/src/btree/bt_random.c index 1f552db8525..6a2af385822 100644 --- a/src/third_party/wiredtiger/src/btree/bt_random.c +++ b/src/third_party/wiredtiger/src/btree/bt_random.c @@ -290,10 +290,11 @@ __random_leaf(WT_CURSOR_BTREE *cbt) return (__cursor_kv_return(cbt, cbt->upd_value)); /* - * Try again if there are at least a few hundred disk-based entries: this may be a normal leaf - * page with big items. + * Try again if there are at least a few hundred disk-based entries or this is a page as we read + * it from disk, it might be a normal leaf page with big items. */ - if (cbt->ref->page->entries > WT_RANDOM_DISK_ENOUGH / 2) { + if (cbt->ref->page->entries > WT_RANDOM_DISK_ENOUGH / 5 || + (cbt->ref->page->dsk != NULL && cbt->ref->page->modify == NULL)) { WT_RET(__random_leaf_disk(cbt, &valid)); if (valid) return (__cursor_kv_return(cbt, cbt->upd_value)); |