<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:56:02 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[SERVER-21027] Reduced performance of index lookups after removing documents from collection</title>
                <link>https://jira.mongodb.org/browse/SERVER-21027</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;This ticket is a spinoff from &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-20876&quot; title=&quot;Hang in scenario with sharded ttl collection under WiredTiger&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-20876&quot;&gt;&lt;del&gt;SERVER-20876&lt;/del&gt;&lt;/a&gt; to investigate the underlying issue that index lookups become slower after removing documents from a collection. See &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-20876?focusedCommentId=1063887&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1063887&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;this comment&lt;/a&gt; for more details and a repro, but in summary the test&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;creates an empty collection and index and does queries using that index&lt;/li&gt;
	&lt;li&gt;inserts some number of documents into the collection&lt;/li&gt;
	&lt;li&gt;removes all documents from the collection, leaving collection and index empty again&lt;/li&gt;
	&lt;li&gt;repeats the same queries using the again empty index, which are observed to be significantly slower than the queries in step 1 on the new index and collection&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Referring to the stack trace in the &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-20876?focusedCommentId=1063887&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1063887&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;referenced comment&lt;/a&gt;, the underlying cause seems to be slow WT search_near operations requiring tree walks, even though the table should be empty.&lt;/p&gt;

&lt;p&gt;The impact on user-level operations depends on the amount of overhead before getting to the WT layer in the path by which the query is done, but in the particular repro referenced above, declines of 15-50% were seen, depending on the number of documents inserted then removed. That path has a fair amount of overhead outside WT, so impact could be substantially higher if there are operations that do repeated lookups with low code path overhead outside WT.&lt;/p&gt;</description>
                <environment></environment>
        <key id="235322">SERVER-21027</key>
            <summary>Reduced performance of index lookups after removing documents from collection</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="michael.cahill@mongodb.com">Michael Cahill</assignee>
                                    <reporter username="bruce.lucas@mongodb.com">Bruce Lucas</reporter>
                        <labels>
                    </labels>
                <created>Tue, 20 Oct 2015 15:04:13 +0000</created>
                <updated>Mon, 7 Dec 2015 02:00:49 +0000</updated>
                            <resolved>Thu, 12 Nov 2015 01:36:43 +0000</resolved>
                                    <version>3.0.7</version>
                                    <fixVersion>3.0.8</fixVersion>
                    <fixVersion>3.2.0-rc3</fixVersion>
                                    <component>Performance</component>
                    <component>WiredTiger</component>
                                        <votes>0</votes>
                                    <watches>19</watches>
                                                                                                                <comments>
                            <comment id="1101410" author="xgen-internal-githook" created="Mon, 30 Nov 2015 23:39:08 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;name&apos;: u&apos;Ramon Fernandez&apos;, u&apos;email&apos;: u&apos;ramon@mongodb.com&apos;}
&lt;p&gt;Message: Import wiredtiger-wiredtiger-mongodb-3.0.7-9-gdeb2d81.tar.gz from wiredtiger branch mongodb-3.0&lt;/p&gt;

&lt;p&gt;ref: cb64236..deb2d81&lt;/p&gt;

&lt;p&gt;deb2d81  &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Reverse split if there are many deleted pages (3.0)&lt;br/&gt;
66a111e  &lt;a href=&quot;https://jira.mongodb.org/browse/WT-2195&quot; title=&quot;Hang closing file after truncate&quot; class=&quot;issue-link&quot; data-issue-key=&quot;WT-2195&quot;&gt;&lt;del&gt;WT-2195&lt;/del&gt;&lt;/a&gt; Fix a hang after giving up on a reverse split.&lt;br/&gt;
7b1398a  &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Don&apos;t leave empty internal pages in the tree&lt;br/&gt;
c819d2f  &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Fix reverse splits to keep the original child ref locked&lt;br/&gt;
00dfebc  &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Reverse split if there are many deleted pages&lt;br/&gt;
Branch: v3.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/9add8acc69a119949a156b815003ecc15db75e0d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/9add8acc69a119949a156b815003ecc15db75e0d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1099444" author="xgen-internal-githook" created="Fri, 27 Nov 2015 03:27:40 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: Merge pull request #2330 from wiredtiger/reverse-splits-3.0_2&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Reverse split if there are many deleted pages (3.0)&lt;br/&gt;
Branch: mongodb-3.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/deb2d8109ca59cc9e223fd4f5be19915b949c628&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/deb2d8109ca59cc9e223fd4f5be19915b949c628&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1099442" author="xgen-internal-githook" created="Fri, 27 Nov 2015 03:27:37 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: Merge pull request #2278 from wiredtiger/&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt;-fix&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Don&apos;t leave empty internal pages in the tree&lt;/p&gt;

&lt;p&gt;(cherry picked from commit ba931c1)&lt;br/&gt;
Branch: mongodb-3.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/7b1398a1a6ee6bd4e0624c38c5311e896a42cbfc&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/7b1398a1a6ee6bd4e0624c38c5311e896a42cbfc&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1099441" author="xgen-internal-githook" created="Fri, 27 Nov 2015 03:27:37 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: Merge pull request #2278 from wiredtiger/&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt;-fix&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Don&apos;t leave empty internal pages in the tree&lt;/p&gt;

&lt;p&gt;(cherry picked from commit ba931c1)&lt;br/&gt;
Branch: mongodb-3.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/7b1398a1a6ee6bd4e0624c38c5311e896a42cbfc&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/7b1398a1a6ee6bd4e0624c38c5311e896a42cbfc&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1099440" author="xgen-internal-githook" created="Fri, 27 Nov 2015 03:27:36 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;agorrod&apos;, u&apos;name&apos;: u&apos;Alex Gorrod&apos;, u&apos;email&apos;: u&apos;alexander.gorrod@mongodb.com&apos;}
&lt;p&gt;Message: Merge pull request #2271 from wiredtiger/reverse-split-fix&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Fix reverse splits to keep the original child ref locked&lt;/p&gt;

&lt;p&gt;(cherry picked from commit f4d20a3)&lt;br/&gt;
Branch: mongodb-3.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/c819d2f9d34d8d701e986da4ea628c08239f8626&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/c819d2f9d34d8d701e986da4ea628c08239f8626&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1099439" author="xgen-internal-githook" created="Fri, 27 Nov 2015 03:27:35 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;agorrod&apos;, u&apos;name&apos;: u&apos;Alex Gorrod&apos;, u&apos;email&apos;: u&apos;alexander.gorrod@mongodb.com&apos;}
&lt;p&gt;Message: Merge pull request #2260 from wiredtiger/reverse-splits&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Reverse split if there are many deleted pages&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 35d46c3)&lt;/p&gt;

&lt;p&gt;Conflicts:&lt;br/&gt;
	src/btree/bt_delete.c&lt;br/&gt;
	src/btree/bt_read.c&lt;br/&gt;
	src/evict/evict_page.c&lt;br/&gt;
Branch: mongodb-3.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/00dfebc9b099a80c0ce8bbe69ef97168eda23bfd&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/00dfebc9b099a80c0ce8bbe69ef97168eda23bfd&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1075093" author="xgen-internal-githook" created="Fri, 30 Oct 2015 11:18:35 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: Merge pull request #2278 from wiredtiger/&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt;-fix&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Don&apos;t leave empty internal pages in the tree&lt;br/&gt;
Branch: develop&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/ba931c1c64869b74c8699a6eb56c88b83521e9f4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/ba931c1c64869b74c8699a6eb56c88b83521e9f4&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1075092" author="xgen-internal-githook" created="Fri, 30 Oct 2015 11:18:34 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: Merge pull request #2278 from wiredtiger/&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt;-fix&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Don&apos;t leave empty internal pages in the tree&lt;br/&gt;
Branch: develop&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/ba931c1c64869b74c8699a6eb56c88b83521e9f4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/ba931c1c64869b74c8699a6eb56c88b83521e9f4&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1075089" author="xgen-internal-githook" created="Fri, 30 Oct 2015 11:18:31 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Remove code that updated snapshots for eviction.&lt;br/&gt;
Branch: develop&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/0ca615c0dc3c7ce331cc673edb21648faaa4d5cb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/0ca615c0dc3c7ce331cc673edb21648faaa4d5cb&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1075088" author="xgen-internal-githook" created="Fri, 30 Oct 2015 11:18:30 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Don&apos;t leave empty internal pages in the tree.&lt;br/&gt;
Branch: develop&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/6c4abfc641fc5dded5f938bd0208e75cb9877f74&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/6c4abfc641fc5dded5f938bd0208e75cb9877f74&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1073727" author="xgen-internal-githook" created="Thu, 29 Oct 2015 05:47:25 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;agorrod&apos;, u&apos;name&apos;: u&apos;Alex Gorrod&apos;, u&apos;email&apos;: u&apos;alexander.gorrod@mongodb.com&apos;}
&lt;p&gt;Message: Merge pull request #2271 from wiredtiger/reverse-split-fix&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Fix reverse splits to keep the original child ref locked&lt;br/&gt;
Branch: develop&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/f4d20a30f43f23c68c3198efd1b67ea6e5490fb2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/f4d20a30f43f23c68c3198efd1b67ea6e5490fb2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1073726" author="xgen-internal-githook" created="Thu, 29 Oct 2015 05:47:24 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Fix reverse splits to keep the original child ref locked until we have a hazard pointer on the parent page, as we do for regular splits.&lt;/p&gt;

&lt;p&gt;Otherwise, a reverse split could race with eviction of the internal page.&lt;br/&gt;
Branch: develop&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/5fdd6fbb9bca9a2d915f1580e313f13c8c1def22&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/5fdd6fbb9bca9a2d915f1580e313f13c8c1def22&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1073556" author="xgen-internal-githook" created="Thu, 29 Oct 2015 01:06:13 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;agorrod&apos;, u&apos;name&apos;: u&apos;Alex Gorrod&apos;, u&apos;email&apos;: u&apos;alexander.gorrod@mongodb.com&apos;}
&lt;p&gt;Message: Merge pull request #2260 from wiredtiger/reverse-splits&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Reverse split if there are many deleted pages&lt;br/&gt;
Branch: develop&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/35d46c3a0e7b4c87849df7283544d2e6208d5edd&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/35d46c3a0e7b4c87849df7283544d2e6208d5edd&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1073555" author="xgen-internal-githook" created="Thu, 29 Oct 2015 01:06:12 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Implement @keithbostic&apos;s review comments.&lt;br/&gt;
Branch: develop&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/b564700ba2e36068dd81c0e1e75d9cc692cb7d4d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/b564700ba2e36068dd81c0e1e75d9cc692cb7d4d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1073554" author="xgen-internal-githook" created="Thu, 29 Oct 2015 01:06:11 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Reverse split whenever more than 10% of the refs in the parent are deleted.&lt;br/&gt;
Branch: develop&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/d305119969ab2ca42c45a37f2a294c25cc4cdb67&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/d305119969ab2ca42c45a37f2a294c25cc4cdb67&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1073553" author="xgen-internal-githook" created="Thu, 29 Oct 2015 01:06:10 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Fix a bug in visibility checks for reverse splits, where truncated pages could be discarded too early.&lt;br/&gt;
Branch: develop&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/c7ab7fc06676fe6ec04eb5503ebe63c4bc301ce2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/c7ab7fc06676fe6ec04eb5503ebe63c4bc301ce2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1073552" author="xgen-internal-githook" created="Thu, 29 Oct 2015 01:06:09 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Don&apos;t try to do reverse splits during tree walks: rely on eviction to notice when there are many refs to delete.&lt;br/&gt;
Branch: develop&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/889e0bb988d1fd515f7b2fd51838a1870be68273&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/889e0bb988d1fd515f7b2fd51838a1870be68273&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1073551" author="xgen-internal-githook" created="Thu, 29 Oct 2015 01:06:08 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Don&apos;t instatiate empty pages during tree walks.&lt;/p&gt;

&lt;p&gt;Instantiating empty pages is only required during searches, and then only so&lt;br/&gt;
that subsequent operations have a valid position.  Doing it more often is&lt;br/&gt;
counter-productive because it interferes with reverse splits.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit fe015e3d2e5564603d50c34ea1145fb0e5dca52e)&lt;br/&gt;
Branch: develop&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/c453ee986847fabe5a9f86490a156286a054e5a4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/c453ee986847fabe5a9f86490a156286a054e5a4&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1073550" author="xgen-internal-githook" created="Thu, 29 Oct 2015 01:06:07 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Do reverse splits when deleting pages.&lt;/p&gt;

&lt;p&gt;Specifically, if we notice a parent page has a multiple of 10 deleted children, try to do a reverse split to discard those child pages.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit dc84744680d0071f5d6f39a755e2dc6d6ece7b1a)&lt;br/&gt;
Branch: develop&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/0ba7fcd74874ab5e37cb4ea64b0d8781e8e41e67&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/0ba7fcd74874ab5e37cb4ea64b0d8781e8e41e67&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1073549" author="xgen-internal-githook" created="Thu, 29 Oct 2015 01:06:05 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;michaelcahill&apos;, u&apos;name&apos;: u&apos;Michael Cahill&apos;, u&apos;email&apos;: u&apos;michael.cahill@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-21027&quot; title=&quot;Reduced performance of index lookups after removing documents from collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-21027&quot;&gt;&lt;del&gt;SERVER-21027&lt;/del&gt;&lt;/a&gt; Reverse-split internal pages that contain many deleted children.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 2b89b915cafb86e2aa22b72948f5e411597831c0)&lt;br/&gt;
Branch: develop&lt;br/&gt;
&lt;a href=&quot;https://github.com/wiredtiger/wiredtiger/commit/68138e21d0fe1529d7f65cebd2556699e3fa854b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/wiredtiger/wiredtiger/commit/68138e21d0fe1529d7f65cebd2556699e3fa854b&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="239213">SERVER-21442</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="212396">WT-1973</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="233928">SERVER-20876</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>20.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12451" key="com.atlassian.jira.plugin.system.customfieldtypes:multiversion">
                        <customfieldname>Backport Completed</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="15884">3.0.8</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 20 Oct 2015 22:27:03 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        8 years, 11 weeks, 2 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>alexander.gorrod@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            8 years, 11 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>bruce.lucas@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>michael.cahill@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrkra7:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hsdtun:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hsfjlj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>