<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:26:10 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-31156] Admin command to update the chunk metadata for only one collection</title>
                <link>https://jira.mongodb.org/browse/SERVER-31156</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;It would be helpful if there were an admin command on the mongos that would force the mongos to retrieve the newest chunk metadata for only one collection using the same method that is used when a &lt;tt&gt;StaleShardingException&lt;/tt&gt; is caught for a given collection. &lt;/p&gt;

&lt;p&gt;The existing &lt;tt&gt;flushRouterConfig()&lt;/tt&gt; method flushes all of the chunk metadata, which then requires the mongos to retrieve the chunk metadata for every collection as requests for those collections are processed. This results in a much higher load on both the mongos and the config servers than the single-collection update process used when a &lt;tt&gt;StaleShardingException&lt;/tt&gt; is caught.&lt;/p&gt;

&lt;p&gt;This new method would be useful when an administrator moves a chunk or executes a &lt;tt&gt;movePrimary&lt;/tt&gt; command and wants to be sure that all of the mongos instances have picked up the change without clearing out the metadata for all other collections, especially in larger clusters.&lt;/p&gt;</description>
                <environment></environment>
        <key id="429294">SERVER-31156</key>
            <summary>Admin command to update the chunk metadata for only one collection</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="kaloian.manassiev@mongodb.com">Kaloian Manassiev</assignee>
                                    <reporter username="andrew.young">Andrew Young</reporter>
                        <labels>
                            <label>ShardingSupport</label>
                            <label>former-quick-wins</label>
                            <label>neweng</label>
                    </labels>
                <created>Tue, 19 Sep 2017 16:03:44 +0000</created>
                <updated>Mon, 30 Oct 2023 23:13:31 +0000</updated>
                            <resolved>Mon, 21 Jan 2019 16:41:52 +0000</resolved>
                                                    <fixVersion>3.6.11</fixVersion>
                    <fixVersion>4.0.6</fixVersion>
                    <fixVersion>4.1.8</fixVersion>
                                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>13</watches>
                                                                                                                <comments>
                            <comment id="2147201" author="xgen-internal-githook" created="Wed, 13 Feb 2019 14:36:56 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Kaloian Manassiev&apos;, &apos;email&apos;: &apos;kaloian.manassiev@mongodb.com&apos;, &apos;username&apos;: &apos;kaloianm&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-9043&quot; title=&quot;Link `flushRouterConfig` on the config server and shards&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-9043&quot;&gt;&lt;del&gt;SERVER-9043&lt;/del&gt;&lt;/a&gt;/&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31156&quot; title=&quot;Admin command to update the chunk metadata for only one collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31156&quot;&gt;&lt;del&gt;SERVER-31156&lt;/del&gt;&lt;/a&gt; Link flushRouterConfig on MongoD and make it accept a namespace argument&lt;/p&gt;

&lt;p&gt;(cherry picked from commit e4f26d25632f94a6577028ccefd32069550628b6)&lt;br/&gt;
(cherry picked from commit dbcfdd8a27453e2ff552bcaa6679aac1cbc1d428)&lt;br/&gt;
Branch: v3.6&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/52b87981917afaa4b93a73218404690a69036016&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/52b87981917afaa4b93a73218404690a69036016&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2122098" author="xgen-internal-githook" created="Mon, 21 Jan 2019 19:31:27 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;kaloian.manassiev@mongodb.com&apos;, &apos;name&apos;: &apos;Kaloian Manassiev&apos;, &apos;username&apos;: &apos;kaloianm&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-9043&quot; title=&quot;Link `flushRouterConfig` on the config server and shards&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-9043&quot;&gt;&lt;del&gt;SERVER-9043&lt;/del&gt;&lt;/a&gt;/&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31156&quot; title=&quot;Admin command to update the chunk metadata for only one collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31156&quot;&gt;&lt;del&gt;SERVER-31156&lt;/del&gt;&lt;/a&gt; Link flushRouterConfig on MongoD and make it accept a namespace argument&lt;/p&gt;

&lt;p&gt;(cherry picked from commit e4f26d25632f94a6577028ccefd32069550628b6)&lt;br/&gt;
Branch: v4.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/dbcfdd8a27453e2ff552bcaa6679aac1cbc1d428&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/dbcfdd8a27453e2ff552bcaa6679aac1cbc1d428&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2121529" author="xgen-internal-githook" created="Sun, 20 Jan 2019 21:39:48 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;kaloian.manassiev@mongodb.com&apos;, &apos;name&apos;: &apos;Kaloian Manassiev&apos;, &apos;username&apos;: &apos;kaloianm&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-9043&quot; title=&quot;Link `flushRouterConfig` on the config server and shards&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-9043&quot;&gt;&lt;del&gt;SERVER-9043&lt;/del&gt;&lt;/a&gt;/&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31156&quot; title=&quot;Admin command to update the chunk metadata for only one collection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31156&quot;&gt;&lt;del&gt;SERVER-31156&lt;/del&gt;&lt;/a&gt; Link flushRouterConfig on MongoD and make it accept a namespace argument&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/e4f26d25632f94a6577028ccefd32069550628b6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/e4f26d25632f94a6577028ccefd32069550628b6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1841226" author="kaloian.manassiev" created="Wed, 21 Mar 2018 20:10:52 +0000"  >&lt;p&gt;With the availability of the &lt;tt&gt;forceRoutingTableRefresh&lt;/tt&gt; command and with the work we are doing to introduce version of the database, similar to chunk version, this should command should be unnecessary from 4.0 onwards.&lt;/p&gt;

&lt;p&gt;Leaving the ticket open to add it for 3.6 and 3.4. Like Esha suggests, adding a namespace to &lt;tt&gt;flushRouterConfig&lt;/tt&gt; might be the most appropriate solution.&lt;/p&gt;</comment>
                            <comment id="1680929" author="esha.maharishi@10gen.com" created="Mon, 25 Sep 2017 15:56:18 +0000"  >&lt;p&gt;There is currently a &lt;a href=&quot;https://github.com/mongodb/mongo/blob/r3.5.13/src/mongo/db/s/force_routing_table_refresh_command.cpp#L95-L118&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;forceRoutingTableRefresh&lt;/tt&gt;&lt;/a&gt; (renamed to &lt;tt&gt;_flushRoutingTableCacheUpdates&lt;/tt&gt; in 3.6.1) command on mongod that refreshes the shard&apos;s routing table cache for a particular namespace, but it uses ShardingState, which is not available on mongos.&lt;/p&gt;

&lt;p&gt;I think the best option would be to make the existing &lt;a href=&quot;https://github.com/mongodb/mongo/blob/r3.5.13/src/mongo/s/commands/cluster_flush_router_config_cmd.cpp#L67-L75&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;flushRouterConfig&lt;/tt&gt;&lt;/a&gt; command optionally take a namespace, and if the namespace is given, only that namespace is refreshed.&lt;/p&gt;</comment>
                            <comment id="1676749" author="andrew.young" created="Tue, 19 Sep 2017 17:31:45 +0000"  >&lt;p&gt;It would be helpful if this command could take at least two parameters:&lt;br/&gt;
1. The namespace(s) to update.  This could be a collection, a database, or &lt;tt&gt;*&lt;/tt&gt;.&lt;br/&gt;
2. An optional &lt;tt&gt;background&lt;/tt&gt; flag that when set would tell the mongos to continue processing requests while it is updating its metadata rather than blocking requests during that period. This would be useful for applications that can tolerate failed requests more easily than increased latency.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="634871">SERVER-38171</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>6.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="15640"><![CDATA[v4.0]]></customfieldvalue>
    <customfieldvalue key="15141"><![CDATA[v3.6]]></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_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[500A000000YQ87RIAT, 5002K00000fNfqXQAS]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 25 Sep 2017 15:56:18 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years 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-1270</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 ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>andrew.young</customfieldvalue>
            <customfieldvalue>esha.maharishi@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>kaloian.manassiev@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|htf4gf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr85sf:</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="2726">Sharding 2019-01-28</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|hteqjr:</customfieldvalue>

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