<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:12:08 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>[DOCS-15151] [SERVER] Convert a non-unique index to a unique index via the collMod command</title>
                <link>https://jira.mongodb.org/browse/DOCS-15151</link>
                <project id="10380" key="DOCS">Documentation</project>
                    <description>    &lt;div class=&quot;panel&quot; style=&quot;background-color: #c2d2c2;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width: 1px;background-color: #239eb0;&quot;&gt;&lt;b&gt;Original Downstream Change Summary&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;    In MongoDB 6.0, we introduce the ability to convert a non-unique index to a unique one via a two phase process with the collMod command. &lt;/p&gt;

&lt;p&gt;The first step is as follows given an index of the &quot;a&quot; field:&lt;br/&gt;
{collMod: collName, index: {keyPattern: &lt;/p&gt;
{a: 1}
&lt;p&gt;, prepareUnique: true}}&lt;/p&gt;

&lt;p&gt;The prepareUnique flag puts the regular index into a state where it will start rejecting all new duplicate entries. These new violations will fail with DuplicateKey errors. This behavior is similar to unique indexes, but it will not be marked as &quot;unique&quot; in the durable catalog.&lt;/p&gt;

&lt;p&gt;The second (and final) step:&lt;br/&gt;
{collMod: collName, index: {keyPattern: &lt;/p&gt;
{a: 1}
&lt;p&gt;, unique: true}}&lt;/p&gt;

&lt;p&gt;The unique: true (without dryRun: true) flag actually scans through the index to ensure there are no duplicate entries. If duplicates are detected, collMod will return a CannotConvertIndexToUnique error with a list of conflicting documents. The user is expected to fix these errors before continuing with the conversion.&lt;/p&gt;

&lt;p&gt;If the user wants to abort the conversion, they may pass in prepareUnique: false.&lt;/p&gt;
&lt;h2&gt;&lt;a name=&quot;DescriptionofLinkedTicket&quot;&gt;&lt;/a&gt;Description of Linked Ticket&lt;/h2&gt;
&lt;p&gt;    This should include making the necessary catalog changes, but does not encompass checking for duplicates. We should avoid bumping the data format version so that there aren&apos;t any upgrade/downgrade implications.&lt;/p&gt;
</description>
                <environment></environment>
        <key id="1995714">DOCS-15151</key>
            <summary>[SERVER] Convert a non-unique index to a unique index via the collMod command</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</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="dave.cuthbert@mongodb.com">Dave Cuthbert</assignee>
                                    <reporter username="backlog-server-pm">Backlog - Core Eng Program Management Team</reporter>
                        <labels>
                    </labels>
                <created>Mon, 7 Mar 2022 14:11:53 +0000</created>
                <updated>Mon, 13 Nov 2023 17:44:08 +0000</updated>
                            <resolved>Tue, 21 Jun 2022 15:45:28 +0000</resolved>
                                    <version>5.3.0</version>
                    <version>6.0.0</version>
                                    <fixVersion>5.2.0</fixVersion>
                    <fixVersion>Server_Docs_20231030</fixVersion>
                    <fixVersion>Server_Docs_20231106</fixVersion>
                    <fixVersion>Server_Docs_20231105</fixVersion>
                    <fixVersion>Server_Docs_20231113</fixVersion>
                                    <component>manual</component>
                    <component>Server</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="4630091" author="xgen-internal-githook" created="Tue, 21 Jun 2022 18:27:36 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Dave Cuthbert&apos;, &apos;email&apos;: &apos;69165704+davemungo@users.noreply.github.com&apos;, &apos;username&apos;: &apos;davemungo&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15151&quot; title=&quot;[SERVER] Convert a non-unique index to a unique index via the collMod command&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15151&quot;&gt;&lt;del&gt;DOCS-15151&lt;/del&gt;&lt;/a&gt; convert non unique index v6.0 (#1224)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15151&quot; title=&quot;[SERVER] Convert a non-unique index to a unique index via the collMod command&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15151&quot;&gt;&lt;del&gt;DOCS-15151&lt;/del&gt;&lt;/a&gt; convert non-unique index&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Needs update on where to find duplicate output&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Needs update on where to find duplicate output&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15151&quot; title=&quot;[SERVER] Convert a non-unique index to a unique index via the collMod command&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15151&quot;&gt;&lt;del&gt;DOCS-15151&lt;/del&gt;&lt;/a&gt; convert non-uniqui idex&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Staging updates&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Switch branch&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review fixes&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Add release note&lt;br/&gt;
Branch: v6.1&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/docs-mongodb-internal/commit/d17f93e52fe0b4976db2eb2cea899a6512e1f0a2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/docs-mongodb-internal/commit/d17f93e52fe0b4976db2eb2cea899a6512e1f0a2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="4629395" author="xgen-internal-githook" created="Tue, 21 Jun 2022 15:42:28 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Dave Cuthbert&apos;, &apos;email&apos;: &apos;69165704+davemungo@users.noreply.github.com&apos;, &apos;username&apos;: &apos;davemungo&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15151&quot; title=&quot;[SERVER] Convert a non-unique index to a unique index via the collMod command&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15151&quot;&gt;&lt;del&gt;DOCS-15151&lt;/del&gt;&lt;/a&gt; convert non unique index v6.0 (#1224)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15151&quot; title=&quot;[SERVER] Convert a non-unique index to a unique index via the collMod command&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15151&quot;&gt;&lt;del&gt;DOCS-15151&lt;/del&gt;&lt;/a&gt; convert non-unique index&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Needs update on where to find duplicate output&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Needs update on where to find duplicate output&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DOCS-15151&quot; title=&quot;[SERVER] Convert a non-unique index to a unique index via the collMod command&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DOCS-15151&quot;&gt;&lt;del&gt;DOCS-15151&lt;/del&gt;&lt;/a&gt; convert non-uniqui idex&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Staging updates&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Switch branch&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review feedback&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Review fixes&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Add release note&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/docs-mongodb-internal/commit/d17f93e52fe0b4976db2eb2cea899a6512e1f0a2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/docs-mongodb-internal/commit/d17f93e52fe0b4976db2eb2cea899a6512e1f0a2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="4441620" author="JIRAUSER1257477" created="Tue, 29 Mar 2022 13:55:10 +0000"  >&lt;p&gt;&lt;em&gt;Fix Version updated for upstream &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-61158&quot; title=&quot;Convert a non-unique index to a unique index via the collMod command&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-61158&quot;&gt;&lt;del&gt;SERVER-61158&lt;/del&gt;&lt;/a&gt;:&lt;/em&gt; &lt;br/&gt;
5.2.0&lt;/p&gt;</comment>
                            <comment id="4441619" author="JIRAUSER1257477" created="Tue, 29 Mar 2022 13:54:58 +0000"  >&lt;p&gt;&lt;em&gt;Fix Version updated for upstream &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-61158&quot; title=&quot;Convert a non-unique index to a unique index via the collMod command&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-61158&quot;&gt;&lt;del&gt;SERVER-61158&lt;/del&gt;&lt;/a&gt;:&lt;/em&gt; &lt;br/&gt;
5.2.0, 4.2.20&lt;/p&gt;</comment>
                            <comment id="4441613" author="JIRAUSER1257477" created="Tue, 29 Mar 2022 13:54:03 +0000"  >&lt;p&gt;&lt;em&gt;Fix Version updated for upstream &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-61158&quot; title=&quot;Convert a non-unique index to a unique index via the collMod command&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-61158&quot;&gt;&lt;del&gt;SERVER-61158&lt;/del&gt;&lt;/a&gt;:&lt;/em&gt; &lt;br/&gt;
5.2.0&lt;/p&gt;</comment>
                            <comment id="4406488" author="JIRAUSER1257477" created="Fri, 11 Mar 2022 14:55:28 +0000"  >&lt;p&gt;&lt;em&gt;Fix Version updated for upstream &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-61158&quot; title=&quot;Convert a non-unique index to a unique index via the collMod command&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-61158&quot;&gt;&lt;del&gt;SERVER-61158&lt;/del&gt;&lt;/a&gt;:&lt;/em&gt; &lt;br/&gt;
5.2.0, 4.2.20&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                            <outwardlinks description="documents">
                                        <issuelink>
            <issuekey id="1914338">SERVER-61158</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <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>6.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 11 Mar 2022 14:55:28 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 33 weeks, 1 day 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_17052" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Downstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>In MongoDB 6.0, we introduce the ability to convert a non-unique index to a unique one via a two phase process with the collMod command. &lt;br/&gt;
&lt;br/&gt;
The first step is as follows given an index of the &amp;quot;a&amp;quot; field:&lt;br/&gt;
{collMod: collName, index: {keyPattern: {a: 1}, prepareUnique: true}}&lt;br/&gt;
&lt;br/&gt;
The prepareUnique flag puts the regular index into a state where it will start rejecting all new duplicate entries. These new violations will fail with DuplicateKey errors. This behavior is similar to unique indexes, but it will not be marked as &amp;quot;unique&amp;quot; in the durable catalog.&lt;br/&gt;
&lt;br/&gt;
The second (and final) step:&lt;br/&gt;
{collMod: collName, index: {keyPattern: {a: 1}, unique: true}}&lt;br/&gt;
&lt;br/&gt;
The unique: true (without dryRun: true) flag actually scans through the index to ensure there are no duplicate entries. If duplicates are detected, collMod will return a CannotConvertIndexToUnique error with a &amp;quot;violations&amp;quot; field that contains an array of conflicting documents. The user is expected to fix these errors before continuing with the conversion.&lt;br/&gt;
&lt;br/&gt;
Example shell output from a failed conversion:&lt;br/&gt;
{&lt;br/&gt;
&amp;quot;ok&amp;quot; : 0,&lt;br/&gt;
&amp;quot;errmsg&amp;quot; : &amp;quot;Cannot convert the index to unique. Please resolve conflicting documents before running collMod again.&amp;quot;,&lt;br/&gt;
&amp;quot;code&amp;quot; : 359,&lt;br/&gt;
&amp;quot;codeName&amp;quot; : &amp;quot;CannotConvertIndexToUnique&amp;quot;,&lt;br/&gt;
&amp;quot;violations&amp;quot; : [{ &amp;quot;ids&amp;quot; : [ ObjectId(&amp;quot;123&amp;quot;), ObjectId(&amp;quot;456&amp;quot;) ] }]&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
If the user wants to abort the conversion, they may pass in prepareUnique: false.</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>DOCSP-17171</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>emet.ozar@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            1 year, 33 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-pm</customfieldvalue>
            <customfieldvalue>dave.cuthbert@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>jess.mokrzecki@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0m927:</customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10555" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</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_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0lv7j:</customfieldvalue>

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