<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:05:27 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-24122] Make mongos sorted merge respect the collation</title>
                <link>https://jira.mongodb.org/browse/SERVER-24122</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;There are two possible strategies:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Make comparisons in the AsyncResultsMerger use a collator. This will require linking ICU into mongos.&lt;/li&gt;
	&lt;li&gt;Make the SORT_KEY_GENERATOR stage convert strings inside comparison keys to their corresponding CollatorInterface::ComparisonKey representations. This depends on updating key generation for nested objects and arrays as described in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-23172&quot; title=&quot;Allow use of indices for collation-aware queries that match nested objects or arrays&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-23172&quot;&gt;&lt;del&gt;SERVER-23172&lt;/del&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
</description>
                <environment></environment>
        <key id="285859">SERVER-24122</key>
            <summary>Make mongos sorted merge respect the collation</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="9">Done</resolution>
                                        <assignee username="david.storch@mongodb.com">David Storch</assignee>
                                    <reporter username="david.storch@mongodb.com">David Storch</reporter>
                        <labels>
                    </labels>
                <created>Tue, 10 May 2016 17:28:30 +0000</created>
                <updated>Mon, 6 Jun 2016 21:16:23 +0000</updated>
                            <resolved>Tue, 31 May 2016 17:00:42 +0000</resolved>
                                                    <fixVersion>3.3.8</fixVersion>
                                    <component>Querying</component>
                    <component>Sharding</component>
                                        <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="1279822" author="xgen-internal-githook" created="Tue, 31 May 2016 16:58:55 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;dstorch&apos;, u&apos;name&apos;: u&apos;David Storch&apos;, u&apos;email&apos;: u&apos;david.storch@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-24122&quot; title=&quot;Make mongos sorted merge respect the collation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-24122&quot;&gt;&lt;del&gt;SERVER-24122&lt;/del&gt;&lt;/a&gt; make SORT_KEY_GENERATOR convert strings in sort keys to ICU comparison keys&lt;/p&gt;

&lt;p&gt;This means that mongos merge sorting, which is done via $sortKey meta&lt;br/&gt;
projection, can be done correctly without a CollatorInterface.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5df895a08fd368d124ba69239e6d311216ee4289&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5df895a08fd368d124ba69239e6d311216ee4289&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1270492" author="tess.avitabile" created="Fri, 20 May 2016 19:15:42 +0000"  >&lt;p&gt;Okay, I&apos;m fine with that.&lt;/p&gt;</comment>
                            <comment id="1270486" author="david.storch" created="Fri, 20 May 2016 19:14:07 +0000"  >&lt;p&gt;I&apos;m fine with the sort order being wrong for nested docs when there is a non-simple collator until we implement &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-23172&quot; title=&quot;Allow use of indices for collation-aware queries that match nested objects or arrays&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-23172&quot;&gt;&lt;del&gt;SERVER-23172&lt;/del&gt;&lt;/a&gt;. It will just be a case that we haven&apos;t implemented yet. It&apos;s no worse than aggregation not respecting the collation because we haven&apos;t hooked it up yet---i.e. it&apos;s wrong because there&apos;s an unimplemented subtask left to do.&lt;/p&gt;</comment>
                            <comment id="1270472" author="tess.avitabile" created="Fri, 20 May 2016 18:56:52 +0000"  >&lt;p&gt;Yes, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-23172&quot; title=&quot;Allow use of indices for collation-aware queries that match nested objects or arrays&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-23172&quot;&gt;&lt;del&gt;SERVER-23172&lt;/del&gt;&lt;/a&gt; is required. But I&apos;m not sure we should change the sort key generation stage to convert strings into their comparison keys before we implement it, because then sorts with collation will be incorrect for documents containing strings in nested subdocuments and arrays. Currently the SORT, SORT_MERGE, and ENSURE_SORTED stages call woCompare() with a collation on the sort keys, which just contain the raw strings. Now the sort keys will contain comparison keys at the top-level and raw strings in nested subdocuments and arrays, so it&apos;s not clear how the SORT, SORT_MERGE, and ENSURE_SORTED stages should perform comparisons.&lt;/p&gt;</comment>
                            <comment id="1270459" author="david.storch" created="Fri, 20 May 2016 18:49:26 +0000"  >&lt;p&gt;Yup, but we can do it before we implement &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-23172&quot; title=&quot;Allow use of indices for collation-aware queries that match nested objects or arrays&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-23172&quot;&gt;&lt;del&gt;SERVER-23172&lt;/del&gt;&lt;/a&gt;. It just locks us in to implementing &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-23172&quot; title=&quot;Allow use of indices for collation-aware queries that match nested objects or arrays&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-23172&quot;&gt;&lt;del&gt;SERVER-23172&lt;/del&gt;&lt;/a&gt;. But I think we decided &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-23172&quot; title=&quot;Allow use of indices for collation-aware queries that match nested objects or arrays&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-23172&quot;&gt;&lt;del&gt;SERVER-23172&lt;/del&gt;&lt;/a&gt; was strictly required anyway for efficiency of oplog application, right?&lt;/p&gt;</comment>
                            <comment id="1270450" author="tess.avitabile" created="Fri, 20 May 2016 18:37:43 +0000"  >&lt;p&gt;#2 also depends on &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-23172&quot; title=&quot;Allow use of indices for collation-aware queries that match nested objects or arrays&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-23172&quot;&gt;&lt;del&gt;SERVER-23172&lt;/del&gt;&lt;/a&gt;, correct?&lt;/p&gt;</comment>
                            <comment id="1270444" author="david.storch" created="Fri, 20 May 2016 18:32:57 +0000"  >&lt;p&gt;After a bit of investigation, I believe that the correct implementation strategy is #2 (changing SORT_KEY_GENERATOR to convert strings to their collation keys). Halting progress for the time being, since a clean implementation of #2 depends on some of &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=tess.avitabile&quot; class=&quot;user-hover&quot; rel=&quot;tess.avitabile&quot;&gt;tess.avitabile&lt;/a&gt;&apos;s in-flight changes.&lt;/p&gt;</comment>
                    </comments>
                    <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>1.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>Fri, 20 May 2016 18:37:43 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        7 years, 37 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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-266</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>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            7 years, 37 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>david.storch@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>tess.avitabile@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrk867:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hslb47:</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="1084">Query 15 (06/03/16)</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_11861" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>User Summary</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="11856"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hs9y67:</customfieldvalue>

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