<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:43:41 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-80488] Avoid traversing routing table in balancer split chunk policy</title>
                <link>https://jira.mongodb.org/browse/SERVER-80488</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The balancer,&#160; in every balancing round, &lt;a href=&quot;https://github.com/mongodb/mongo/blob/e2674b6d474f5eabde5eb44e6a8396ccb6d6fc53/src/mongo/db/s/balancer/balancer.cpp#L808&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;check if there are chunks that need to be split to enforce zone boundaries.&lt;/a&gt; This means that for every collection we call &lt;a href=&quot;https://github.com/mongodb/mongo/blob/e2674b6d474f5eabde5eb44e6a8396ccb6d6fc53/src/mongo/db/s/balancer/balancer_chunk_selection_policy.cpp#L687&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;createCollectionDistributionStatus&lt;/a&gt; , this function is very expensive because it build an in-memory representation of all the chunks and tags for the collection. Thus it is linear in the size of the routing table plus the number of tags.&lt;/p&gt;

&lt;p&gt;To enforce zones boundaries, actually there is no need to build the in-memory representation of the routing table, thus we could simply skip that and build only the zone map.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2428737">SERVER-80488</key>
            <summary>Avoid traversing routing table in balancer split chunk policy</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="13201">Fixed</resolution>
                                        <assignee username="tommaso.tocci@mongodb.com">Tommaso Tocci</assignee>
                                    <reporter username="tommaso.tocci@mongodb.com">Tommaso Tocci</reporter>
                        <labels>
                            <label>balancer-round-perf</label>
                    </labels>
                <created>Tue, 29 Aug 2023 07:51:46 +0000</created>
                <updated>Sun, 29 Oct 2023 21:16:58 +0000</updated>
                            <resolved>Wed, 30 Aug 2023 09:15:54 +0000</resolved>
                                    <version>4.2.24</version>
                    <version>7.0.0</version>
                    <version>7.1.0-rc0</version>
                    <version>4.4.24</version>
                    <version>5.0.20</version>
                    <version>6.0.9</version>
                                    <fixVersion>4.2.25</fixVersion>
                    <fixVersion>5.0.21</fixVersion>
                    <fixVersion>4.4.25</fixVersion>
                    <fixVersion>7.2.0-rc0</fixVersion>
                    <fixVersion>7.0.2</fixVersion>
                    <fixVersion>7.1.0-rc1</fixVersion>
                    <fixVersion>6.0.11</fixVersion>
                                                        <votes>0</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="5683120" author="xgen-internal-githook" created="Wed, 6 Sep 2023 14:07:56 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Tommaso Tocci&apos;, &apos;email&apos;: &apos;tommaso.tocci@mongodb.com&apos;, &apos;username&apos;: &apos;toto-dev&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-80488&quot; title=&quot;Avoid traversing routing table in balancer split chunk policy&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-80488&quot;&gt;&lt;del&gt;SERVER-80488&lt;/del&gt;&lt;/a&gt;  Avoid traversing routing table in balancer split chunk policy&lt;/p&gt;

&lt;p&gt;(cherry picked from commit b240d65340aabb39f1756467c4c6f68c55e57e9a)&lt;br/&gt;
Branch: v4.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/9f22a4e18e7f5538386f524dff592ebc7ebfeb3e&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/9f22a4e18e7f5538386f524dff592ebc7ebfeb3e&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5682593" author="xgen-internal-githook" created="Wed, 6 Sep 2023 11:36:08 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Tommaso Tocci&apos;, &apos;email&apos;: &apos;tommaso.tocci@mongodb.com&apos;, &apos;username&apos;: &apos;toto-dev&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-80488&quot; title=&quot;Avoid traversing routing table in balancer split chunk policy&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-80488&quot;&gt;&lt;del&gt;SERVER-80488&lt;/del&gt;&lt;/a&gt; Avoid traversing routing table in balancer split chunk policy&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 4fad44a858d8ee2d642566fc8872ef410f6534e4)&lt;/p&gt;

&lt;p&gt;Remove addTagsFromCatalog&lt;br/&gt;
Branch: v7.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/3061e9101263d573e591cb7d23e8d3ad860e6f79&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/3061e9101263d573e591cb7d23e8d3ad860e6f79&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5680166" author="xgen-internal-githook" created="Tue, 5 Sep 2023 15:41:08 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Tommaso Tocci&apos;, &apos;email&apos;: &apos;tommaso.tocci@mongodb.com&apos;, &apos;username&apos;: &apos;toto-dev&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-80488&quot; title=&quot;Avoid traversing routing table in balancer split chunk policy&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-80488&quot;&gt;&lt;del&gt;SERVER-80488&lt;/del&gt;&lt;/a&gt; Avoid traversing routing table in balancer split chunk policy&lt;/p&gt;

&lt;p&gt;(cherry picked from commit a108b54e288c395928c283e49fc2e37dcb1b85eb)&lt;br/&gt;
Branch: v7.1&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/fe7a23455ab081d52332c840d15a103a6bafcc31&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/fe7a23455ab081d52332c840d15a103a6bafcc31&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5680153" author="xgen-internal-githook" created="Tue, 5 Sep 2023 15:39:02 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Tommaso Tocci&apos;, &apos;email&apos;: &apos;tommaso.tocci@mongodb.com&apos;, &apos;username&apos;: &apos;toto-dev&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-80488&quot; title=&quot;Avoid traversing routing table in balancer split chunk policy&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-80488&quot;&gt;&lt;del&gt;SERVER-80488&lt;/del&gt;&lt;/a&gt; Avoid traversing routing table in balancer split chunk policy&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 4fad44a858d8ee2d642566fc8872ef410f6534e4)&lt;/p&gt;

&lt;p&gt;Remove addTagsFromCatalog&lt;br/&gt;
Branch: v6.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/65c6ce70138685160b3ea88a9de787f210255617&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/65c6ce70138685160b3ea88a9de787f210255617&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5674593" author="xgen-internal-githook" created="Fri, 1 Sep 2023 13:53:31 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Tommaso Tocci&apos;, &apos;email&apos;: &apos;tommaso.tocci@mongodb.com&apos;, &apos;username&apos;: &apos;toto-dev&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-80488&quot; title=&quot;Avoid traversing routing table in balancer split chunk policy&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-80488&quot;&gt;&lt;del&gt;SERVER-80488&lt;/del&gt;&lt;/a&gt;  Avoid traversing routing table in balancer split chunk policy&lt;br/&gt;
Branch: v4.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/b240d65340aabb39f1756467c4c6f68c55e57e9a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/b240d65340aabb39f1756467c4c6f68c55e57e9a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5668012" author="xgen-internal-githook" created="Wed, 30 Aug 2023 09:04:25 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Tommaso Tocci&apos;, &apos;email&apos;: &apos;tommaso.tocci@mongodb.com&apos;, &apos;username&apos;: &apos;toto-dev&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-80488&quot; title=&quot;Avoid traversing routing table in balancer split chunk policy&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-80488&quot;&gt;&lt;del&gt;SERVER-80488&lt;/del&gt;&lt;/a&gt; Avoid traversing routing table in balancer split chunk policy&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/a108b54e288c395928c283e49fc2e37dcb1b85eb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a108b54e288c395928c283e49fc2e37dcb1b85eb&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5667996" author="xgen-internal-githook" created="Wed, 30 Aug 2023 08:49:11 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Tommaso Tocci&apos;, &apos;email&apos;: &apos;tommaso.tocci@mongodb.com&apos;, &apos;username&apos;: &apos;toto-dev&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-80488&quot; title=&quot;Avoid traversing routing table in balancer split chunk policy&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-80488&quot;&gt;&lt;del&gt;SERVER-80488&lt;/del&gt;&lt;/a&gt; Avoid traversing routing table in balancer split chunk policy&lt;br/&gt;
Branch: v5.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/4fad44a858d8ee2d642566fc8872ef410f6534e4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/4fad44a858d8ee2d642566fc8872ef410f6534e4&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2280562">SERVER-74584</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="26243"><![CDATA[v7.1]]></customfieldvalue>
    <customfieldvalue key="25578"><![CDATA[v7.0]]></customfieldvalue>
    <customfieldvalue key="23470"><![CDATA[v6.0]]></customfieldvalue>
    <customfieldvalue key="21777"><![CDATA[v5.0]]></customfieldvalue>
    <customfieldvalue key="18953"><![CDATA[v4.4]]></customfieldvalue>
    <customfieldvalue key="16775"><![CDATA[v4.2]]></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>Wed, 30 Aug 2023 04:41:56 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        22 weeks 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_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></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>
                            22 weeks 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>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>tommaso.tocci@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i2o8fr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i268m0:</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_22250" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Special Downgrade Instructions Required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="23343"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="7194">Sharding EMEA 2023-09-04</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_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i2nul3:</customfieldvalue>

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