<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:08:05 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-67416] Always sort fieldpath string sets using custom comparator</title>
                <link>https://jira.mongodb.org/browse/SERVER-67416</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Whenever we store sets of field paths strings (eg., &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;a.b&amp;quot;, &amp;quot;a&amp;quot;, &amp;quot;c.d&amp;quot;&amp;#93;&lt;/span&gt;) use a custom string comparator that treats &quot;.&quot; as the first character.&lt;/p&gt;

&lt;p&gt;This is to protect us against future bugs like&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-66418&quot; title=&quot;Bad projection created during dependency analysis due to string order assumption&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-66418&quot;&gt;&lt;del&gt;SERVER-66418&lt;/del&gt;&lt;/a&gt;.&#160; It also makes the solution to that issue more efficient (because it avoids a set copy) and would allow O(n log n) solutions to many field path comparison functions that currently are O(n^2).&#160; For example `isIndependentOf` and `isOnlyDependentOn` in &lt;a href=&quot;https://github.com/mongodb/mongo/blob/master/src/mongo/db/matcher/expression_algo.cpp#L802&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/master/src/mongo/db/matcher/expression_algo.cpp#L802&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="2073522">SERVER-67416</key>
            <summary>Always sort fieldpath string sets using custom comparator</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="steve.tarzia@mongodb.com">Steve Tarzia</assignee>
                                    <reporter username="steve.tarzia@mongodb.com">Steve Tarzia</reporter>
                        <labels>
                    </labels>
                <created>Tue, 21 Jun 2022 18:03:21 +0000</created>
                <updated>Sun, 29 Oct 2023 21:36:37 +0000</updated>
                            <resolved>Wed, 6 Jul 2022 13:15:12 +0000</resolved>
                                                    <fixVersion>6.1.0-rc0</fixVersion>
                    <fixVersion>6.0.5</fixVersion>
                                                        <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="5122741" author="xgen-internal-githook" created="Thu, 19 Jan 2023 02:44:44 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Steve Tarzia&apos;, &apos;email&apos;: &apos;steve.tarzia@mongodb.com&apos;, &apos;username&apos;: &apos;starzia&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-67416&quot; title=&quot;Always sort fieldpath string sets using custom comparator&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-67416&quot;&gt;&lt;del&gt;SERVER-67416&lt;/del&gt;&lt;/a&gt; Always sort fieldpath string sets using custom comparator&lt;br/&gt;
Branch: v6.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/e69b196acf52afe38a15fc55b4626ac8bfddc5c7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/e69b196acf52afe38a15fc55b4626ac8bfddc5c7&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5122740" author="xgen-internal-githook" created="Thu, 19 Jan 2023 02:44:41 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Steve Tarzia&apos;, &apos;email&apos;: &apos;steve.tarzia@mongodb.com&apos;, &apos;username&apos;: &apos;starzia&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-67416&quot; title=&quot;Always sort fieldpath string sets using custom comparator&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-67416&quot;&gt;&lt;del&gt;SERVER-67416&lt;/del&gt;&lt;/a&gt; Always sort fieldpath string sets using custom comparator&lt;br/&gt;
Branch: v6.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/mongo-enterprise-modules/commit/ca6b6383477a01f7291c46519159bc62c70ee0dc&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/mongo-enterprise-modules/commit/ca6b6383477a01f7291c46519159bc62c70ee0dc&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5101095" author="JIRAUSER1263890" created="Mon, 9 Jan 2023 21:36:04 +0000"  >&lt;p&gt;Will backport to v6.0 to fix a plan generation bug explained in &lt;a href=&quot;https://jira.mongodb.org/browse/BF-27387?focusedCommentId=5091405&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-5091405&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;this comment&lt;/a&gt; in BF-27387&lt;/p&gt;</comment>
                            <comment id="4661342" author="JIRAUSER1263890" created="Wed, 6 Jul 2022 18:50:47 +0000"  >&lt;p&gt;The patch for this seems to fix some instances of a long-standing query correctness bug (&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-23229&quot; title=&quot;Projection incorrectly returns null value instead of missing field to user if projection is covered&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-23229&quot;&gt;SERVER-23229&lt;/a&gt;), but we should do more investigation to find and add the test cases that still fail.&#160; It&apos;s doubtful that that bug was really fixed by this.&lt;/p&gt;

&lt;p&gt;Edit: My mistake &#8211; I confirmed that &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-23229&quot; title=&quot;Projection incorrectly returns null value instead of missing field to user if projection is covered&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-23229&quot;&gt;SERVER-23229&lt;/a&gt;&#160;is not at all related to the work on this ticket.&lt;/p&gt;</comment>
                            <comment id="4659958" author="xgen-internal-githook" created="Wed, 6 Jul 2022 12:19:11 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Steve Tarzia&apos;, &apos;email&apos;: &apos;steve.tarzia@mongodb.com&apos;, &apos;username&apos;: &apos;starzia&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-67416&quot; title=&quot;Always sort fieldpath string sets using custom comparator&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-67416&quot;&gt;&lt;del&gt;SERVER-67416&lt;/del&gt;&lt;/a&gt; &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-23229&quot; title=&quot;Projection incorrectly returns null value instead of missing field to user if projection is covered&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-23229&quot;&gt;SERVER-23229&lt;/a&gt; Always sort fieldpath string sets using custom comparator&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/19bd7993d149b68918f0d589551c1bf6781c5b63&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/19bd7993d149b68918f0d589551c1bf6781c5b63&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4659956" author="xgen-internal-githook" created="Wed, 6 Jul 2022 12:19:06 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Steve Tarzia&apos;, &apos;email&apos;: &apos;steve.tarzia@mongodb.com&apos;, &apos;username&apos;: &apos;starzia&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-67416&quot; title=&quot;Always sort fieldpath string sets using custom comparator&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-67416&quot;&gt;&lt;del&gt;SERVER-67416&lt;/del&gt;&lt;/a&gt; &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-23229&quot; title=&quot;Projection incorrectly returns null value instead of missing field to user if projection is covered&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-23229&quot;&gt;SERVER-23229&lt;/a&gt; Always sort fieldpath string sets using custom comparator&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/mongo-enterprise-modules/commit/2b29a176797d02ce13be38fa8ad097dba7ec1286&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/mongo-enterprise-modules/commit/2b29a176797d02ce13be38fa8ad097dba7ec1286&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4658268" author="JIRAUSER1263890" created="Tue, 5 Jul 2022 18:00:12 +0000"  >&lt;p&gt;Passed all tests here: &lt;a href=&quot;https://spruce.mongodb.com/version/62bf72ef57e85a3859f459d8/tasks&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://spruce.mongodb.com/version/62bf72ef57e85a3859f459d8/tasks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Resolved merge conflicts and created mergeQueue patch here:&lt;br/&gt;
&lt;a href=&quot;https://spruce.mongodb.com/version/62c455ff3e8e86453ecb041d/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://spruce.mongodb.com/version/62c455ff3e8e86453ecb041d/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC&lt;/a&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="2228326">SERVER-72651</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2045167">SERVER-66418</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>7.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <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, 21 Jun 2022 19:07:58 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 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_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_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, 3 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>steve.tarzia@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0zfvr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0iaqo:</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="5899">QO 2022-06-27</customfieldvalue>
    <customfieldvalue id="5901">QO 2022-07-11</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|i0z213:</customfieldvalue>

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