<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:32:46 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-33237] Optimize the Range Deleter speed</title>
                <link>https://jira.mongodb.org/browse/SERVER-33237</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The sharding range deleter was intentionally implemented to not be fully efficient in order to minimize its interference with MMAP V1. This causes orphaned data to accumulate especially with the recent moveChunk improvements.&lt;/p&gt;

&lt;p&gt;With the WiredTiger storage engine, we can let it run at full speed and we should investigate the benefit of directly instantiating an auto-yielding &lt;a href=&quot;https://github.com/mongodb/mongo/blob/85b39d411987431a8c37b1de267b167a384ea9b3/src/mongo/db/query/get_executor.cpp#L715&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;delete stage&lt;/a&gt; instead of recreating the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/85b39d411987431a8c37b1de267b167a384ea9b3/src/mongo/db/s/collection_range_deleter.cpp#L320&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;index scan phase&lt;/a&gt; for each document.&lt;/p&gt;</description>
                <environment></environment>
        <key id="495761">SERVER-33237</key>
            <summary>Optimize the Range Deleter speed</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</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="13201">Fixed</resolution>
                                        <assignee username="kevin.pulo@mongodb.com">Kevin Pulo</assignee>
                                    <reporter username="kaloian.manassiev@mongodb.com">Kaloian Manassiev</reporter>
                        <labels>
                            <label>bkp</label>
                    </labels>
                <created>Fri, 9 Feb 2018 18:45:23 +0000</created>
                <updated>Sun, 29 Oct 2023 22:34:53 +0000</updated>
                            <resolved>Wed, 13 Jun 2018 08:09:34 +0000</resolved>
                                    <version>3.2.19</version>
                    <version>3.4.13</version>
                    <version>3.6.3</version>
                                    <fixVersion>3.4.17</fixVersion>
                    <fixVersion>3.6.7</fixVersion>
                    <fixVersion>4.0.1</fixVersion>
                    <fixVersion>4.1.1</fixVersion>
                                    <component>Sharding</component>
                                        <votes>2</votes>
                                    <watches>19</watches>
                                                                                                                <comments>
                            <comment id="1987222" author="kevin.pulo@10gen.com" created="Tue, 28 Aug 2018 03:54:04 +0000"  >&lt;p&gt;The behaviour of this fix differs slightly between MongoDB 3.4 and 3.6+.  In both cases, &quot;batch&quot; below refers to (by default) 128 document deletions performed by the Range Deleter.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;3.6+:
	&lt;ul&gt;
		&lt;li&gt;The Range Deleter generates the index plan once per batch.  (Previously it re-planned for each document deletion.)&lt;/li&gt;
		&lt;li&gt;rangeDeleterBatchDelayMS occurs after each batch.&lt;/li&gt;
		&lt;li&gt;If _secondaryThrottle is enabled, then waiting for replication occurs after each batch (standard behaviour for 3.4+).&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;3.4:
	&lt;ul&gt;
		&lt;li&gt;The Range Deleter generates the index plan:
		&lt;ul&gt;
			&lt;li&gt;If _secondaryThrottle is enabled, then once per document deletion (as previously).&lt;/li&gt;
			&lt;li&gt;If _secondaryThrottle is disabled, then once per batch.  (Previously it re-planned for each document deletion.)&lt;/li&gt;
		&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li&gt;rangeDeleterBatchDelayMS occurs after each batch.&lt;/li&gt;
		&lt;li&gt;If _secondaryThrottle is enabled, then waiting for replication occurs after each document deletion (standard behaviour for 3.4).&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Note that in 3.4, rangeDeleterBatchDelayMS occurs both when _secondaryThrottle is enabled and disabled (for consistency), even though the re-planning performance improvement only applies when _secondaryThrottle is disabled.  This means that in 3.4, it may be necessary to adjust the value of rangeDeleterBatchDelayMS when changing between _secondaryThrottle enabled and disabled (and vice-versa), to avoid unexpected increases or decreases in Range Deleter performance.&lt;/p&gt;</comment>
                            <comment id="1979816" author="xgen-internal-githook" created="Mon, 20 Aug 2018 07:01:58 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Kevin Pulo&apos;, &apos;email&apos;: &apos;kevin.pulo@mongodb.com&apos;, &apos;username&apos;: &apos;devkev&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33237&quot; title=&quot;Optimize the Range Deleter speed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33237&quot;&gt;&lt;del&gt;SERVER-33237&lt;/del&gt;&lt;/a&gt; Range deleter avoid query planning for every document.&lt;/p&gt;

&lt;p&gt;Custom backport to v3.4, based on 6ed473ed3a122bebc1e932c946fe1c991dbd7ecb.&lt;/p&gt;

&lt;p&gt;In v3.4, the excessive query planning is only avoided when _secondaryThrottle&lt;br/&gt;
is off.&lt;/p&gt;

&lt;p&gt;Also add the rangeDeleterBatchDelayMS server parameter (default 20ms), to give&lt;br/&gt;
greater control (when necessary) over range deleter throttling.  This delay is&lt;br/&gt;
in addition to any _secondaryThrottle replication delays.&lt;br/&gt;
Branch: v3.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/581a10bcfc9b755a099a59f8489a5b0e6d5a1746&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/581a10bcfc9b755a099a59f8489a5b0e6d5a1746&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1943869" author="xgen-internal-githook" created="Wed, 11 Jul 2018 02:18:12 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;devkev&apos;, &apos;name&apos;: &apos;Kevin Pulo&apos;, &apos;email&apos;: &apos;kevin.pulo@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33237&quot; title=&quot;Optimize the Range Deleter speed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33237&quot;&gt;&lt;del&gt;SERVER-33237&lt;/del&gt;&lt;/a&gt; Range deleter query plan once per batch.&lt;/p&gt;

&lt;p&gt;Rather than once for each deleted document.&lt;/p&gt;

&lt;p&gt;Also add the rangeDeleterBatchDelayMS server parameter (default 20ms), to give&lt;br/&gt;
greater control (when necessary) over range deleter throttling.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 6ed473ed3a122bebc1e932c946fe1c991dbd7ecb)&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/ac71cfb02a9f0f4ffad8f97252b498ebc53cece5&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/ac71cfb02a9f0f4ffad8f97252b498ebc53cece5&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1943867" author="xgen-internal-githook" created="Wed, 11 Jul 2018 02:17:27 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;devkev&apos;, &apos;name&apos;: &apos;Kevin Pulo&apos;, &apos;email&apos;: &apos;kevin.pulo@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33237&quot; title=&quot;Optimize the Range Deleter speed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33237&quot;&gt;&lt;del&gt;SERVER-33237&lt;/del&gt;&lt;/a&gt; Range deleter query plan once per batch.&lt;/p&gt;

&lt;p&gt;Rather than once for each deleted document.&lt;/p&gt;

&lt;p&gt;Also add the rangeDeleterBatchDelayMS server parameter (default 20ms), to give&lt;br/&gt;
greater control (when necessary) over range deleter throttling.&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 6ed473ed3a122bebc1e932c946fe1c991dbd7ecb)&lt;br/&gt;
Branch: v4.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5d6df07e2513577b5c6d55c9342d462d931662d6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5d6df07e2513577b5c6d55c9342d462d931662d6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1919258" author="xgen-internal-githook" created="Wed, 13 Jun 2018 08:05:43 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;devkev&apos;, &apos;name&apos;: &apos;Kevin Pulo&apos;, &apos;email&apos;: &apos;kevin.pulo@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33237&quot; title=&quot;Optimize the Range Deleter speed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33237&quot;&gt;&lt;del&gt;SERVER-33237&lt;/del&gt;&lt;/a&gt; Range deleter query plan once per batch.&lt;/p&gt;

&lt;p&gt;Rather than once for each deleted document.&lt;/p&gt;

&lt;p&gt;Also add the rangeDeleterBatchDelayMS server parameter (default 20ms), to give&lt;br/&gt;
greater control (when necessary) over range deleter throttling.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/6ed473ed3a122bebc1e932c946fe1c991dbd7ecb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/6ed473ed3a122bebc1e932c946fe1c991dbd7ecb&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                                                <inwardlinks description="is documented by">
                                        <issuelink>
            <issuekey id="560479">DOCS-11809</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="617622">SERVER-37616</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="15640"><![CDATA[v4.0]]></customfieldvalue>
    <customfieldvalue key="15141"><![CDATA[v3.6]]></customfieldvalue>
    <customfieldvalue key="14340"><![CDATA[v3.4]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10011"><![CDATA[Minor Change]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[500A000000ZOEmpIAH, 500A000000ZOc1yIAD, 500A000000bTZHxIAO]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Sun, 18 Feb 2018 08:31:46 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 24 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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-629</customfieldvalue>
                        </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>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 24 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>kaloian.manassiev@mongodb.com</customfieldvalue>
            <customfieldvalue>kevin.pulo@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htq1jz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr8txj:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="2216">Sharding 2018-04-09</customfieldvalue>
    <customfieldvalue id="2257">Sharding 2018-05-07</customfieldvalue>
    <customfieldvalue id="2290">Sharding 2018-05-21</customfieldvalue>
    <customfieldvalue id="2291">Sharding 2018-06-04</customfieldvalue>
    <customfieldvalue id="2292">Sharding 2018-06-18</customfieldvalue>

                        </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_11861" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>User Summary</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="11856"><![CDATA[Not Needed]]></customfieldvalue>

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

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