<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:50:10 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-38831] Make the cursor option to the aggregate command optional again</title>
                <link>https://jira.mongodb.org/browse/SERVER-38831</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;This is often forgotten in many of our tests causing pain during development. Now that it&apos;s been a number of releases since we&apos;ve supported the command without the cursor option, we should make the cursor behavior the default and not require &lt;tt&gt;cursor: {&lt;/tt&gt;} to be specified on each aggregate command.&lt;/p&gt;</description>
                <environment></environment>
        <key id="665223">SERVER-38831</key>
            <summary>Make the cursor option to the aggregate command optional again</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="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="backlog-query-execution">Backlog - Query Execution</assignee>
                                    <reporter username="charlie.swanson@mongodb.com">Charlie Swanson</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 Jan 2019 23:20:04 +0000</created>
                <updated>Tue, 6 Dec 2022 03:09:14 +0000</updated>
                                                                            <component>Aggregation Framework</component>
                                        <votes>0</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="2112937" author="charlie.swanson" created="Fri, 11 Jan 2019 21:08:41 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=scott.lhommedieu&quot; class=&quot;user-hover&quot; rel=&quot;scott.lhommedieu&quot;&gt;scott.lhommedieu&lt;/a&gt; I&apos;m not sure I totally understand your concern but the reason we changed the response format was to enable result sets larger than 16MB to be returned from an aggregation.&#160;&lt;/p&gt;</comment>
                            <comment id="2112935" author="charlie.swanson" created="Fri, 11 Jan 2019 21:06:49 +0000"  >&lt;p&gt;It is just convenient. &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=behackett&quot; class=&quot;user-hover&quot; rel=&quot;behackett&quot;&gt;behackett&lt;/a&gt; I&apos;m surprised we care about the quality of an error message a user would receive in that scenario. Such a user would have to have a very old version of a driver lying around (older than whatever the first version of the driver was to default to using cursors for aggregations. I would expect this to be somewhere around when that functionality was introduced which was 2.6. At the very least that functionality was deprecated in 3.4 which was what, 3.5 years ago?) and try to use that on a brand new version of the server (4.2, which won&apos;t be released until this summer-ish). In contrast, I&apos;d expect most people either download a brand new version of both, or are upgrading some old version of both. Admittedly, this is just a hunch &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&#160;On a related note, I&apos;d honestly be somewhat surprised if this was the first such error they receive in that scenario?&lt;/p&gt;

&lt;p&gt;If we aren&apos;t comfortable doing this now, will we ever be?&lt;/p&gt;</comment>
                            <comment id="2112931" author="scott.lhommedieu" created="Fri, 11 Jan 2019 21:05:47 +0000"  >&lt;p&gt;This seems like a bad user experience across different versions of the driver in terms of aggregate having changing response formats without a change in the function api AND no clear error.&lt;/p&gt;

&lt;p&gt;Why do this?&#160; What is the user gaining from this change in response format (even if it is only to enable other features).&lt;/p&gt;</comment>
                            <comment id="2112901" author="behackett" created="Fri, 11 Jan 2019 20:53:13 +0000"  >&lt;p&gt;I have mixed feelings about this. Old drivers did indeed previously break. But the error message for that was very clear. They will still break but there will be no error message at all. The driver will just fail in a way that is difficult for users to understand. Is this change really critical, or just convenient?&lt;/p&gt;</comment>
                            <comment id="2111324" author="schwerin" created="Thu, 10 Jan 2019 17:35:53 +0000"  >&lt;p&gt;OK with me. Get a driver dev to double-check your reasoning, though.&lt;/p&gt;</comment>
                            <comment id="2111296" author="charlie.swanson" created="Thu, 10 Jan 2019 17:20:02 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=schwerin&quot; class=&quot;user-hover&quot; rel=&quot;schwerin&quot;&gt;schwerin&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=scott.lhommedieu&quot; class=&quot;user-hover&quot; rel=&quot;scott.lhommedieu&quot;&gt;scott.lhommedieu&lt;/a&gt; we discussed this in the query team&apos;s triage meeting today. &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bernard.gorman&quot; class=&quot;user-hover&quot; rel=&quot;bernard.gorman&quot;&gt;bernard.gorman&lt;/a&gt; pointed out that on 4.0, an old driver connecting to the server and not specifying the cursor option would fail, so this combination is already unsupported. If we changed it so that the cursor option is no longer required in 4.2 that same old driver would have the command succeed, but the response would come back in a format it&apos;s likely not anticipating. Namely, the cursor response format, something like {&lt;tt&gt;cursor: {id: XXX, firstBatch: &lt;span class=&quot;error&quot;&gt;&amp;#91;...&amp;#93;&lt;/span&gt;&lt;/tt&gt;}} instead of just {&lt;tt&gt;results: &lt;span class=&quot;error&quot;&gt;&amp;#91;...&amp;#93;&lt;/span&gt;&lt;/tt&gt;}. Given this, I&apos;m pretty comfortable making such a change on the 4.2 branch, and thus we&apos;ve marked this as a nomination for Q1 quick wins. The main win here would be saving developers time writing tests or running raw aggregate commands in the shell.&lt;/p&gt;

&lt;p&gt;cc &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=david.storch&quot; class=&quot;user-hover&quot; rel=&quot;david.storch&quot;&gt;david.storch&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=asya&quot; class=&quot;user-hover&quot; rel=&quot;asya&quot;&gt;asya&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="2105397" author="schwerin" created="Fri, 4 Jan 2019 13:48:54 +0000"  >&lt;p&gt;Will this impact old drivers connecting to new servers? &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=scott.lhommedieu&quot; class=&quot;user-hover&quot; rel=&quot;scott.lhommedieu&quot;&gt;scott.lhommedieu&lt;/a&gt; &lt;/p&gt;</comment>
                            <comment id="2105006" author="charlie.swanson" created="Thu, 3 Jan 2019 23:23:09 +0000"  >&lt;blockquote&gt;
&lt;p&gt;Changed in version 3.6: MongoDB 3.6 removes the use of aggregate command without the cursor option unless the command includes the explain option. Unless you include the explain option, you must specify the cursor option.&lt;/p&gt;&lt;/blockquote&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="39610">SERVER-5932</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25125"><![CDATA[Query Execution]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 4 Jan 2019 13:48:54 +0000</customfieldvalue>

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


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>false</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 4 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>schwerin@mongodb.com</customfieldvalue>
            <customfieldvalue>backlog-query-execution</customfieldvalue>
            <customfieldvalue>bernie@mongodb.com</customfieldvalue>
            <customfieldvalue>charlie.swanson@mongodb.com</customfieldvalue>
            <customfieldvalue>scott.lhommedieu@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hui51r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr2cjj:</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_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|huhrb3:</customfieldvalue>

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