<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:14: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-69874] Document or possibly mitigate scenario where shards end up with different prepareUnique and unique index settings</title>
                <link>https://jira.mongodb.org/browse/SERVER-69874</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;This isn&apos;t a new inconsistency for indexes on a sharded collection but a new way for an inconsistency to manifest. For comparison, the createIndexes command broadcasted by mongos to all shards which own a chunk for the sharded collection can fail on one shard and succeed on another (same for the dropIndexes command). The main consequence is it can lead to chunk migrations failing with a DuplicateKey exception because shards are enforcing different index constraints from each other.&lt;/p&gt;

&lt;p&gt;Let&apos;s say there is a collection sharded on {x: 1} which lives on 2 shards and has a non&amp;#45;unique index {x: 1, y: 1}.&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;The collMod command is run with {prepareUnique: true} for the {x: 1, y: 1} index to start preventing new duplicate (x, y) pairs from being inserted or updated. This step succeeds on both shards.&lt;/li&gt;
	&lt;li&gt;The collMod command is run with {unique: true} for the {x: 1, y: 1} index to verify there are no existing duplicate (x, y) pairs. This step succeeds on one of the shards and fails on the other shard.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;A chunk migration between the 2 shards may fail with a DuplicateKey error due to the (x, y) pairs not being globally unique across all shards. Removing the duplicates and retrying the collMod command is run with {unique: true} may not be practical. However the cluster operator is also left without a means of converting the {x: 1, y: 1} index back to being a non&amp;#45;unique index.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2142731">SERVER-69874</key>
            <summary>Document or possibly mitigate scenario where shards end up with different prepareUnique and unique index settings</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="yuhong.zhang@mongodb.com">Yuhong Zhang</assignee>
                                    <reporter username="max.hirschhorn@mongodb.com">Max Hirschhorn</reporter>
                        <labels>
                    </labels>
                <created>Wed, 21 Sep 2022 19:39:34 +0000</created>
                <updated>Sun, 29 Oct 2023 21:32:59 +0000</updated>
                            <resolved>Tue, 8 Nov 2022 16:11:47 +0000</resolved>
                                                    <fixVersion>6.1.1</fixVersion>
                    <fixVersion>6.0.4</fixVersion>
                    <fixVersion>6.2.0-rc0</fixVersion>
                                    <component>Catalog</component>
                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="4998285" author="xgen-internal-githook" created="Mon, 21 Nov 2022 19:42:05 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Yuhong Zhang&apos;, &apos;email&apos;: &apos;yuhong.zhang@mongodb.com&apos;, &apos;username&apos;: &apos;YuhongZhang98&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-69874&quot; title=&quot;Document or possibly mitigate scenario where shards end up with different prepareUnique and unique index settings&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-69874&quot;&gt;&lt;del&gt;SERVER-69874&lt;/del&gt;&lt;/a&gt; Execute in dryRun mode first during unique index conversion on a sharded collection to ensure consistent index specs across shards&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 78131d8e3da7114a037d55add0483a82a5133bd8)&lt;br/&gt;
(cherry picked from commit b3268a6f0b1479366ccd41418267db1b556c0e86)&lt;br/&gt;
Branch: v6.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/55764dfbc05f6cc45e210e8f65a6c40a34d0c9ff&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/55764dfbc05f6cc45e210e8f65a6c40a34d0c9ff&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4994515" author="xgen-internal-githook" created="Fri, 18 Nov 2022 22:29:07 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Yuhong Zhang&apos;, &apos;email&apos;: &apos;yuhong.zhang@mongodb.com&apos;, &apos;username&apos;: &apos;YuhongZhang98&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-69874&quot; title=&quot;Document or possibly mitigate scenario where shards end up with different prepareUnique and unique index settings&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-69874&quot;&gt;&lt;del&gt;SERVER-69874&lt;/del&gt;&lt;/a&gt; Execute in dryRun mode first during unique index conversion on a sharded collection to ensure consistent index specs across shards&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 78131d8e3da7114a037d55add0483a82a5133bd8)&lt;br/&gt;
Branch: v6.1&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/b3268a6f0b1479366ccd41418267db1b556c0e86&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/b3268a6f0b1479366ccd41418267db1b556c0e86&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4965769" author="xgen-internal-githook" created="Wed, 9 Nov 2022 03:53:10 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Yuhong Zhang&apos;, &apos;email&apos;: &apos;yuhong.zhang@mongodb.com&apos;, &apos;username&apos;: &apos;YuhongZhang98&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-69874&quot; title=&quot;Document or possibly mitigate scenario where shards end up with different prepareUnique and unique index settings&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-69874&quot;&gt;&lt;del&gt;SERVER-69874&lt;/del&gt;&lt;/a&gt; Fix collMod unit tests&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/2cbd6f178c05c706e820ce62418a3e38a1e26f4a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/2cbd6f178c05c706e820ce62418a3e38a1e26f4a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4963633" author="xgen-internal-githook" created="Tue, 8 Nov 2022 15:27:06 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Yuhong Zhang&apos;, &apos;email&apos;: &apos;yuhong.zhang@mongodb.com&apos;, &apos;username&apos;: &apos;YuhongZhang98&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-69874&quot; title=&quot;Document or possibly mitigate scenario where shards end up with different prepareUnique and unique index settings&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-69874&quot;&gt;&lt;del&gt;SERVER-69874&lt;/del&gt;&lt;/a&gt; Execute in dryRun mode first during unique index conversion on a sharded collection to ensure consistent index specs across shards&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/78131d8e3da7114a037d55add0483a82a5133bd8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/78131d8e3da7114a037d55add0483a82a5133bd8&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2128794">SERVER-69429</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1914338">SERVER-61158</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>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="24444"><![CDATA[v6.1]]></customfieldvalue>
    <customfieldvalue key="23470"><![CDATA[v6.0]]></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>Tue, 1 Nov 2022 12:54:31 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 11 weeks, 2 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-2881</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>
                            1 year, 11 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>max.hirschhorn@mongodb.com</customfieldvalue>
            <customfieldvalue>yuhong.zhang@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i1b9sn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0tyyo:</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="6332">Execution Team 2022-10-17</customfieldvalue>
    <customfieldvalue id="6333">Execution Team 2022-10-31</customfieldvalue>
    <customfieldvalue id="6492">Execution Team 2022-11-14</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|i1avxz:</customfieldvalue>

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