<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:48:54 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-60081] ChunkVersion::IGNORED should ignore the critical section</title>
                <link>https://jira.mongodb.org/browse/SERVER-60081</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The special value &lt;tt&gt;ChunkVersion::IGNORED&lt;/tt&gt; is&#160;used to indicate that an operation is coming from a router (as opposed to direct connection to a shard), but that the shard must not perform version checking, under the assumption that the caller knows what they are doing.&lt;/p&gt;

&lt;p&gt;One special case is the UNKNOWN version, in which case we do want IGNORED to trigger StaleConfig in order for the writes to contain the shard key (see &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-44598&quot; title=&quot;Shards do not treat the IGNORED version as &amp;quot;intended sharded&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-44598&quot;&gt;&lt;del&gt;SERVER-44598&lt;/del&gt;&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;This ticket is to skip the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/f408ec2ca68e0cc1ee51b6971d688daf2c513ef4/src/mongo/db/s/collection_sharding_runtime.cpp#L339&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;critical section check&lt;/a&gt; if the caller is using the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/f408ec2ca68e0cc1ee51b6971d688daf2c513ef4/src/mongo/db/s/collection_sharding_runtime.cpp#L353&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;IGNORED version&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;NOTE:&lt;/b&gt; This fix only applies to versions 5.0 and earlier, because we do not provide any guarantees with respect to writes to orphan documents. Starting with version 5.1 we will provide such guarantees in which case the critical section must be obeyed so that a multi-write can see which documents are orphaned.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1878648">SERVER-60081</key>
            <summary>ChunkVersion::IGNORED should ignore the critical section</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="kaloian.manassiev@mongodb.com">Kaloian Manassiev</assignee>
                                    <reporter username="kaloian.manassiev@mongodb.com">Kaloian Manassiev</reporter>
                        <labels>
                    </labels>
                <created>Mon, 20 Sep 2021 17:03:11 +0000</created>
                <updated>Sun, 31 Oct 2021 09:00:21 +0000</updated>
                            <resolved>Sun, 31 Oct 2021 09:00:21 +0000</resolved>
                                    <version>4.2.16</version>
                    <version>5.0.3</version>
                    <version>4.4.9</version>
                                                                        <votes>2</votes>
                                    <watches>9</watches>
                                                                                                                <comments>
                            <comment id="4159229" author="kaloian.manassiev" created="Sun, 31 Oct 2021 09:00:04 +0000"  >&lt;p&gt;After some investigation of an unrelated BF (failure in our continuous integration system), I realised that ignoring the critical section for multi-writes impacts the convergence of chunk migration. For context, when chunk migration enters the critical section, this stops all incoming writes and guarantees that the final changes to the chunk will be caught up in some small amount of time.&lt;/p&gt;

&lt;p&gt;With multi-writes no longer blocking on the critical section, this means that the writes buffer may continue growing unbounded and migration will never converge. The side effect of this are failed migrations and stalls of up to 30 seconds under the critical section, for writes.&lt;/p&gt;

&lt;p&gt;So effectively we have a trade-off to make:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Multi-writes fail in the presence of back-to-back migrations (such as adding a new shard)&lt;/li&gt;
	&lt;li&gt;All writes against the shard stall for up to 30 seconds and possibly fail, in the presence of multi-updates and concurrent migrations&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Since the potential effects of (2) are much worse (stall on the entire shard), we decided to revert this change and pursue a proper solution for the problem in (1).&lt;/p&gt;</comment>
                            <comment id="4159218" author="xgen-internal-githook" created="Sun, 31 Oct 2021 08:03:26 +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: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-60081&quot; title=&quot;ChunkVersion::IGNORED should ignore the critical section&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-60081&quot;&gt;&lt;del&gt;SERVER-60081&lt;/del&gt;&lt;/a&gt; Make ChunkVersion::IGNORED not consider the migration critical section&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit a83b0c692c886a595b27358fc5eb585547e0297a.&lt;br/&gt;
Branch: v5.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5a75cc4c9fc29b462f4d4a5d56096b804a009b07&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5a75cc4c9fc29b462f4d4a5d56096b804a009b07&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4157799" author="xgen-internal-githook" created="Fri, 29 Oct 2021 17:34:15 +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: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-60081&quot; title=&quot;ChunkVersion::IGNORED should ignore the critical section&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-60081&quot;&gt;&lt;del&gt;SERVER-60081&lt;/del&gt;&lt;/a&gt; Make ChunkVersion::IGNORED not consider the migration critical section&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit 18a3bcd42863ada3ad0f57dcac04021ccfa806d4.&lt;br/&gt;
Branch: v5.1&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/cfff9eaf82fe360ab11cd3c527835f0576d429d7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/cfff9eaf82fe360ab11cd3c527835f0576d429d7&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4117989" author="xgen-internal-githook" created="Tue, 12 Oct 2021 11:23:33 +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-60081&quot; title=&quot;ChunkVersion::IGNORED should ignore the critical section&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-60081&quot;&gt;&lt;del&gt;SERVER-60081&lt;/del&gt;&lt;/a&gt; Make ChunkVersion::IGNORED not consider the migration critical section&lt;/p&gt;

&lt;p&gt;(cherry picked from commit a83b0c692c886a595b27358fc5eb585547e0297a)&lt;br/&gt;
Branch: v5.1&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/18a3bcd42863ada3ad0f57dcac04021ccfa806d4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/18a3bcd42863ada3ad0f57dcac04021ccfa806d4&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4117920" author="xgen-internal-githook" created="Tue, 12 Oct 2021 10:25:39 +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-60081&quot; title=&quot;ChunkVersion::IGNORED should ignore the critical section&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-60081&quot;&gt;&lt;del&gt;SERVER-60081&lt;/del&gt;&lt;/a&gt; Make ChunkVersion::IGNORED not consider the migration critical section&lt;br/&gt;
Branch: v5.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/a83b0c692c886a595b27358fc5eb585547e0297a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a83b0c692c886a595b27358fc5eb585547e0297a&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </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>1.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 11 Oct 2021 06:09:13 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 14 weeks, 3 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>kaloian.manassiev@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            2 years, 14 weeks, 3 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>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|i02csf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hzm6wv:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="5425">Sharding EMEA 2021-10-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_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i01yxr:</customfieldvalue>

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