<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:31:44 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-53739] Validate all createIndexes options</title>
                <link>https://jira.mongodb.org/browse/SERVER-53739</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;My change to the &quot;listIndexes&quot; IDL (&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-52545&quot; title=&quot;Specify input/output to listIndexes command in IDL&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-52545&quot;&gt;&lt;del&gt;SERVER-52545&lt;/del&gt;&lt;/a&gt;) has caused an intermittent failure in jstestfuzz_replication_initsync, I think this is the sequence:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;the fuzzer generates a createIndexes command like {createIndexes: [ {key: &quot;foo&quot;, dropDups: &quot;some string&quot;}]}&lt;/li&gt;
	&lt;li&gt;that&apos;s wrong because &quot;dropDups&quot; is supposed to be a bool, but createIndexes succeeds anyway (its parameter validation is spotty, awaiting &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-52539&quot; title=&quot;Specify input/output to createIndexes command in IDL&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-52539&quot;&gt;&lt;del&gt;SERVER-52539&lt;/del&gt;&lt;/a&gt;) and creates a corrupt catalog entry&lt;/li&gt;
	&lt;li&gt;subsequent &quot;listIndexes&quot; commands fail with a uassert, because they now strictly parse the catalog entries. The message is like: &quot;Could not parse catalog entry while replying to listIndexes&quot;&lt;/li&gt;
	&lt;li&gt;initial sync is now impossible because the sync source can&apos;t answer &quot;listIndexes&quot;. The initial-sync node crashes, logging:
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&amp;gt; &quot;Fatal assertion&quot;,&quot;attr&quot;:{&quot;msgid&quot;:40088,&quot;error&quot;:&quot;InitialSyncFailure: error cloning databases :: caused by :: Location5254501: Error cloning collection &apos;qa450.existingname&apos; :: caused by :: listIndexes failed: { ok: 0.0, errmsg: \&quot;Could not parse catalog entry while replying to listIndexes\&quot;, code: 5254501, codeName: \&quot;Location5254501\&quot;,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;
&lt;p&gt;This may be fixed by &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-52539&quot; title=&quot;Specify input/output to createIndexes command in IDL&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-52539&quot;&gt;&lt;del&gt;SERVER-52539&lt;/del&gt;&lt;/a&gt; &quot;Specify input/output to createIndexes command in IDL&quot;, which will make createIndexes as strict as listIndexes. But I want to fix the BF sooner than that, so this ticket is a bandaid. Besides, there may be value to validating index options at several levels, that&apos;ll be more clear once &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-52539&quot; title=&quot;Specify input/output to createIndexes command in IDL&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-52539&quot;&gt;&lt;del&gt;SERVER-52539&lt;/del&gt;&lt;/a&gt; is done.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;(In retrospect, we should&apos;ve converted createIndexes before listIndexes, but I didn&apos;t anticipate this issue.)&lt;/p&gt;

&lt;p&gt;I made createIndexes validate the &quot;background&quot; option in &lt;a href=&quot;https://github.com/mongodb/mongo/commit/9537e7f9bd14ec7e097077b5a31e7a7db674114b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this commit&lt;/a&gt;, now I&apos;ll validate the rest of the options.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1588852">SERVER-53739</key>
            <summary>Validate all createIndexes options</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="13201">Fixed</resolution>
                                        <assignee username="jesse@mongodb.com">A. Jesse Jiryu Davis</assignee>
                                    <reporter username="jesse@mongodb.com">A. Jesse Jiryu Davis</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 Jan 2021 13:31:44 +0000</created>
                <updated>Sun, 29 Oct 2023 21:58:53 +0000</updated>
                            <resolved>Wed, 20 Jan 2021 13:58:15 +0000</resolved>
                                                    <fixVersion>5.1.0-rc0</fixVersion>
                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="3573322" author="xgen-internal-githook" created="Wed, 20 Jan 2021 13:53:21 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;A. Jesse Jiryu Davis&apos;, &apos;email&apos;: &apos;jesse@mongodb.com&apos;, &apos;username&apos;: &apos;ajdavis&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-53739&quot; title=&quot;Validate all createIndexes options&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-53739&quot;&gt;&lt;del&gt;SERVER-53739&lt;/del&gt;&lt;/a&gt; Validate all createIndexes options&lt;/p&gt;

&lt;p&gt;Prevent createIndexes from creating invalid index catalog&lt;br/&gt;
entries, which would make listIndexes fail.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/c4c0d3a44248a1ba0b6c45557d0e7a8ebb210386&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/c4c0d3a44248a1ba0b6c45557d0e7a8ebb210386&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3566959" author="xgen-internal-githook" created="Fri, 15 Jan 2021 10:03:30 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Benety Goh&apos;, &apos;email&apos;: &apos;benety@mongodb.com&apos;, &apos;username&apos;: &apos;benety&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-53739&quot; title=&quot;Validate all createIndexes options&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-53739&quot;&gt;&lt;del&gt;SERVER-53739&lt;/del&gt;&lt;/a&gt; Temporary code to validate all createIndexes options&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit c8e3d8c339141e4799b2c3519b54eb79025dea3d.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/10a6722a4d59da05e55d778588d57b5fdb23594b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/10a6722a4d59da05e55d778588d57b5fdb23594b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3566142" author="xgen-internal-githook" created="Thu, 14 Jan 2021 22:11:21 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;A. Jesse Jiryu Davis&apos;, &apos;email&apos;: &apos;jesse@mongodb.com&apos;, &apos;username&apos;: &apos;ajdavis&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-53739&quot; title=&quot;Validate all createIndexes options&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-53739&quot;&gt;&lt;del&gt;SERVER-53739&lt;/del&gt;&lt;/a&gt; Temporary code to validate all createIndexes options&lt;/p&gt;

&lt;p&gt;Temporary fix to prevent createIndexes from creating invalid index catalog&lt;br/&gt;
entries, which would make listIndexes fail. The thorough fix will be in&lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-52539&quot; title=&quot;Specify input/output to createIndexes command in IDL&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-52539&quot;&gt;&lt;del&gt;SERVER-52539&lt;/del&gt;&lt;/a&gt;.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/c8e3d8c339141e4799b2c3519b54eb79025dea3d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/c8e3d8c339141e4799b2c3519b54eb79025dea3d&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                                                <inwardlinks description="is documented by">
                                        <issuelink>
            <issuekey id="1590939">DOCS-14129</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="1398187">SERVER-49224</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                                                <inwardlinks description="is caused by">
                                        <issuelink>
            <issuekey id="1531321">SERVER-52545</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1531311">SERVER-52539</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1589288">SERVER-53765</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="318486">SERVER-26287</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>3.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_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10011"><![CDATA[Minor Change]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[5002K00000xje4KQAQ, 5006R00001lSlfUQAS, 5006R00001mcdzOQAQ]]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 13 Jan 2021 14:18:37 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 3 weeks 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>The createIndexes command had permitted values of the wrong type for at least some of the following options: background, unique, sparse, finestIndexedLevel, coarsestIndexedLevel, dropDups, weights, default_language, language_override, wildcardProjection, 2dsphereIndexVersion, textIndexVersion, bits, min, and max. In &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-52545&quot; title=&quot;Specify input/output to listIndexes command in IDL&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-52545&quot;&gt;&lt;strike&gt;SERVER-52545&lt;/strike&gt;&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-53739&quot; title=&quot;Validate all createIndexes options&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-53739&quot;&gt;&lt;strike&gt;SERVER-53739&lt;/strike&gt;&lt;/a&gt;, I have tightened up validation for these createIndexes options. Sara Goleman is further tightening validation in the upcoming &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-52539&quot; title=&quot;Specify input/output to createIndexes command in IDL&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-52539&quot;&gt;&lt;strike&gt;SERVER-52539&lt;/strike&gt;&lt;/a&gt;, and her changes will ban unrecognized options.&lt;br/&gt;
&lt;br/&gt;
All valid invocations of createIndexes should work the same as before, but misformatted invocations that had silently misbehaved heretofore will be rejected henceforth.</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16942"><![CDATA[Needed]]></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>
                            3 years, 3 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>14.0</customfieldvalue>

                        </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>jesse@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hypb8v:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hyb1cf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="4567">Repl 2021-01-25</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_17051" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Teams Impacted</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16943"><![CDATA[Cloud]]></customfieldvalue>
    <customfieldvalue key="16944"><![CDATA[Docs]]></customfieldvalue>
    <customfieldvalue key="16945"><![CDATA[Drivers]]></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|hyoxi7:</customfieldvalue>

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