<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:07:14 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-67078] Advancing just the minor version on the primary of a shard should not stall the secondaries</title>
                <link>https://jira.mongodb.org/browse/SERVER-67078</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The following sequence is possible:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;The primary of a shard performs a split or commits chunk migration (For the purposes of this ticket we will just consider splits, because they are more problematic since they are more frequent and only bump the minor version).&lt;/li&gt;
	&lt;li&gt;As part of the split, we bump the minor version of the collection, but still &lt;a href=&quot;https://github.com/mongodb/mongo/blob/77e9ff7fd5e822ed2c560db2f601648a6dd58abf/src/mongo/db/s/split_chunk.cpp#L263&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;advance&lt;/a&gt; the filtering metadata (shardVersion) on the primary.&lt;/li&gt;
	&lt;li&gt;This causes the newly split chunks to be written to the &lt;tt&gt;config.cache.chunks.XXX&lt;/tt&gt; collection, but since the write is not atomic, we first need to write a &lt;a href=&quot;https://github.com/mongodb/mongo/blob/77e9ff7fd5e822ed2c560db2f601648a6dd58abf/src/mongo/db/s/shard_server_catalog_cache_loader.cpp#L123&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&lt;tt&gt;refreshing:true&lt;/tt&gt; entry&lt;/a&gt; and then &lt;a href=&quot;https://github.com/mongodb/mongo/blob/77e9ff7fd5e822ed2c560db2f601648a6dd58abf/src/mongo/db/s/shard_server_catalog_cache_loader.cpp#L148&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;clear&lt;/a&gt; it once we have written all the changes.&lt;/li&gt;
	&lt;li&gt;Upon seeing the first write from the previous step, the secondary will &lt;a href=&quot;https://github.com/mongodb/mongo/blob/77e9ff7fd5e822ed2c560db2f601648a6dd58abf/src/mongo/db/s/shard_server_op_observer.cpp#L358&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;throw out&lt;/a&gt; its filtering metadata (shardVersion), which means that any read which comes to that secondary now will stall and will wait for the primary to complete at least one refresh from the CSRS and clear the &lt;tt&gt;refreshing&lt;/tt&gt; flag.&lt;/li&gt;
	&lt;li&gt;The &lt;a href=&quot;https://github.com/mongodb/mongo/blob/77e9ff7fd5e822ed2c560db2f601648a6dd58abf/src/mongo/db/s/shard_server_catalog_cache_loader.cpp#L1241&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;secondary is stalled&lt;/a&gt; until the primary completes one round of refresh from the CSRS&lt;/li&gt;
	&lt;li&gt;By the time it loops around though in order to read the new metadata, the primary might have committed another split and that split would have generated yet another &lt;tt&gt;refreshing:true&lt;/tt&gt;.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;This loop potentially has a liveness problem if there are too many splits (or merges and moves) happening on the primary back to back, since it might not be able to complete. For moves, since they happen much less frequently it has normally not been a problem, but for splits it definitely is.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2063830">SERVER-67078</key>
            <summary>Advancing just the minor version on the primary of a shard should not stall the secondaries</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="12300">Won&apos;t Do</resolution>
                                        <assignee username="backlog-server-catalog-and-routing">Backlog - Catalog and Routing</assignee>
                                    <reporter username="kaloian.manassiev@mongodb.com">Kaloian Manassiev</reporter>
                        <labels>
                            <label>oldshardingemea</label>
                    </labels>
                <created>Tue, 7 Jun 2022 18:23:49 +0000</created>
                <updated>Thu, 16 Nov 2023 18:29:09 +0000</updated>
                            <resolved>Thu, 16 Nov 2023 18:29:09 +0000</resolved>
                                    <version>3.6.23</version>
                    <version>4.0.28</version>
                    <version>4.4.13</version>
                    <version>4.2.20</version>
                    <version>5.0.9</version>
                    <version>6.0.0-rc8</version>
                                                                        <votes>0</votes>
                                    <watches>18</watches>
                                                                                                                <comments>
                            <comment id="5886108" author="JIRAUSER1270641" created="Thu, 16 Nov 2023 18:29:09 +0000"  >&lt;p&gt;Executing the ticket as currently described is not aligned with the long-term vision of the server and there are a couple of mitigations that should lessen the likelihood of encountering this issue as a long-term solution is found:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Improved autosplitter algorithm that results in less splits in 5.1 and backported:
	&lt;ul&gt;
		&lt;li&gt;5.0.4 -&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-60651&quot; title=&quot;Backport the autoSplitVector logic to v5.0&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-60651&quot;&gt;&lt;del&gt;SERVER-60651&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;4.4.11 -&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-60652&quot; title=&quot;Backport the autoSplitVector logic to v4.4&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-60652&quot;&gt;&lt;del&gt;SERVER-60652&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;4.2.18 -&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-60653&quot; title=&quot;Backport the autoSplitVector logic to v4.2&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-60653&quot;&gt;&lt;del&gt;SERVER-60653&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;4.0.28 -&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-60654&quot; title=&quot;Backport the autoSplitVector logic to v4.0&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-60654&quot;&gt;&lt;del&gt;SERVER-60654&lt;/del&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;The removal of the autosplitter in MongoDB 6.0.3&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="5885283" author="JIRAUSER1270641" created="Thu, 16 Nov 2023 14:41:49 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=dinesh.chander%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;dinesh.chander@mongodb.com&quot;&gt;dinesh.chander@mongodb.com&lt;/a&gt; - is the customer still on 4.2 because if they&apos;ve upgraded to 4.4.25 that includes &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-71627&quot; title=&quot;Refreshed cached collection route info will severely block all client request when a cluster with 1 million chunks&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-71627&quot;&gt;&lt;del&gt;SERVER-71627&lt;/del&gt;&lt;/a&gt; which makes refreshes orders of magnitude faster for large sharded collections with a large amount of chunks.&#160;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="1965541">SERVER-62698</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10020">
                    <name>Gantt Dependency</name>
                                                                <inwardlinks description="has to be done after">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                                        </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>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="26387"><![CDATA[Catalog and Routing]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 9 Jun 2022 12:41:18 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        11 weeks, 6 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>matt.panton@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            11 weeks, 6 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>backlog-server-catalog-and-routing</customfieldvalue>
            <customfieldvalue>kaloian.manassiev@mongodb.com</customfieldvalue>
            <customfieldvalue>matt.panton@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0xs1r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0gnfk:</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|i0xe73:</customfieldvalue>

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