<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:39:33 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-56550] Require Versioned API options for getMore and transaction-continuing commands</title>
                <link>https://jira.mongodb.org/browse/SERVER-56550</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Once the dust settles on&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-55614&quot; title=&quot;Permit Versioned API options for getMore and transaction-continuing commands&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-55614&quot;&gt;&lt;del&gt;SERVER-55614&lt;/del&gt;&lt;/a&gt; (make Versioned API params optional for getMore/txn-continuing commands), make them required. The API params for getMore must be exactly the same as those submitted with the cursor-creating command, and those submitted with a txn-continuing command must exactly match those of the txn-initiating command.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1698302">SERVER-56550</key>
            <summary>Require Versioned API options for getMore and transaction-continuing commands</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="jesse@mongodb.com">A. Jesse Jiryu Davis</assignee>
                                    <reporter username="jesse@mongodb.com">A. Jesse Jiryu Davis</reporter>
                        <labels>
                    </labels>
                <created>Sat, 1 May 2021 01:37:36 +0000</created>
                <updated>Sun, 29 Oct 2023 21:54:11 +0000</updated>
                            <resolved>Sun, 16 May 2021 11:49:06 +0000</resolved>
                                                    <fixVersion>5.0.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="3775557" author="jesse" created="Sun, 16 May 2021 13:24:35 +0000"  >&lt;p&gt;I was confused, we upgrade mongos &lt;b&gt;after&lt;/b&gt; shards, so the upgrade bug I was worried about can&apos;t actually be a problem: &lt;a href=&quot;https://docs.mongodb.com/manual/release-notes/4.4-upgrade-sharded-cluster/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.mongodb.com/manual/release-notes/4.4-upgrade-sharded-cluster/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3772257" author="xgen-internal-githook" created="Thu, 13 May 2021 17:48:23 +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-56550&quot; title=&quot;Require Versioned API options for getMore and transaction-continuing commands&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-56550&quot;&gt;&lt;del&gt;SERVER-56550&lt;/del&gt;&lt;/a&gt; Require consistent API params in getMore and txns&lt;/p&gt;

&lt;p&gt;Transaction-continuing commands must use the same API parameters as the&lt;br/&gt;
transaction&apos;s first command (it is no longer optional), and similarly&lt;br/&gt;
getMore must use the same as the cursor-creating command.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/500a405a5ce235507f56fb47e8d5d4b368d3458d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/500a405a5ce235507f56fb47e8d5d4b368d3458d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3772059" author="xgen-internal-githook" created="Thu, 13 May 2021 16:41:33 +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-56550&quot; title=&quot;Require Versioned API options for getMore and transaction-continuing commands&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-56550&quot;&gt;&lt;del&gt;SERVER-56550&lt;/del&gt;&lt;/a&gt; Agg fuzzer includes API params in getMore (#462)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/10gen/jstestfuzz/commit/ded37d756ac3712702851877c4f27125036be5f3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/jstestfuzz/commit/ded37d756ac3712702851877c4f27125036be5f3&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3760169" author="jesse" created="Fri, 7 May 2021 02:39:17 +0000"  >&lt;p&gt;Before we close this, let&apos;s talk about upgrade/downgrade issues. I think there&apos;s an issue with mongos 5.0 and mongod 4.4.&#160;A client can call commitTransaction on mongos with apiVersion: &quot;1&quot;, and mongos calls prepareTransaction on shards with apiVersion: &quot;1&quot;, they respond with an unrecognized-parameter error, and mongos retries forever&amp;#40;?&amp;#41;.&lt;/p&gt;</comment>
                            <comment id="3750713" author="jesse" created="Sat, 1 May 2021 11:51:33 +0000"  >&lt;p&gt;Restore the&#160;CannotSpecifyAPIParametersAfterFirstStatement test I deleted from transaction_router_test.cpp in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-55614&quot; title=&quot;Permit Versioned API options for getMore and transaction-continuing commands&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-55614&quot;&gt;&lt;del&gt;SERVER-55614&lt;/del&gt;&lt;/a&gt;, and adapt it to test that API params are required.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="1662879">SERVER-55614</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                                                <inwardlinks description="is documented by">
                                        <issuelink>
            <issuekey id="1717519">DOCS-14459</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1719047">MONGOSH-767</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>5.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_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>Thu, 13 May 2021 16:41:33 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 38 weeks, 3 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/SERVER-55614'>SERVER-55614</a></s>]]></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>If you&amp;#39;re a driver author, this affects you. If you&amp;#39;re a driver user, you may see &amp;quot;APIMismatchError&amp;quot; when you use the Versioned API with the latest server, until your driver implements DRIVERS-1720. If you don&amp;#39;t use the Versioned API this doesn&amp;#39;t affect you.&lt;br/&gt;
&lt;br/&gt;
There are two scenarios affected:&lt;br/&gt;
&lt;br/&gt;
1. A driver passes any API parameters (apiVersion, apiStrict, apiDeprecation) to a cursor-creating command, such as find, aggregate, listCollections. Let&amp;#39;s call the cursor-creating command an &amp;quot;initiating command&amp;quot; and getMore a &amp;quot;continuing command&amp;quot;.&lt;br/&gt;
&lt;br/&gt;
2. A driver passes any API parameters to the first command in a transaction. Let&amp;#39;s call the first command an &amp;quot;initiating command&amp;quot;, and all other commands in the transaction (including commit/abortTransaction) &amp;quot;continuing commands&amp;quot;.&lt;br/&gt;
&lt;br/&gt;
In the beginning, continuing commands rejected all API params. They used the same API params as the initiating command. But the Database Experience (DBX) team told me that special-casing continuing commands made driver work harder, so we changed it.&lt;br/&gt;
&lt;br/&gt;
Recently, I changed continuing commands to accept either the same API params as the initiating command, or no API params (&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-55614&quot; title=&quot;Permit Versioned API options for getMore and transaction-continuing commands&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-55614&quot;&gt;&lt;strike&gt;SERVER-55614&lt;/strike&gt;&lt;/a&gt;). Either way, continuing commands behave the same. This either/or behavior was a step on the way to our goal:&lt;br/&gt;
&lt;br/&gt;
Finally, I changed continuing commands to require the same API params as initiating commands. So if a driver passes any (or no) API params to an initiating command it must pass the same (or no) API params to all continuing commands.</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>false</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>
                            2 years, 38 weeks, 3 days ago
                        </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|hz7shb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hysnjr:</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="5032">Elastic 2021-05-10</customfieldvalue>
    <customfieldvalue id="5041">Elastic 2021-05-17</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>
    <customfieldvalue key="20960"><![CDATA[DBX: DevTools (Compass, Shell, VS Code Ext)]]></customfieldvalue>
    <customfieldvalue key="16946"><![CDATA[Triage and Release]]></customfieldvalue>
    <customfieldvalue key="20958"><![CDATA[Atlas Data Federation and Data Lake]]></customfieldvalue>
    <customfieldvalue key="20959"><![CDATA[Charts]]></customfieldvalue>
    <customfieldvalue key="20961"><![CDATA[SQL Engines (Atlas SQL + BIC)]]></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|hz7eqf:</customfieldvalue>

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