<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:23:19 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>[DRIVERS-1390] Clarify that connection checkout for the initial attempt should not be retryable</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-1390</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;p&gt;The retryable writes pseudocode does not mention what should happen if there&apos;s an error getting a connection from the selected server&apos;s pool. The retryable reads pseudocode explicitly calls &lt;tt&gt;connection = server.getConnection&lt;/tt&gt; at the very beginning and does not surround this call in a try/catch, so errors here will be propagated without retries. Also, the prose describing the pseudocode in both specs does not mention this case.&lt;/p&gt;

&lt;p&gt;From talking to&#160;Jeremy, it seems like we want to propagate connection pool checkout errors to the user without any retries and this should be clarified in both the pseudocode and prose in both specs.&lt;/p&gt;

&lt;p&gt;CC &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jmikola&quot; class=&quot;user-hover&quot; rel=&quot;jmikola&quot;&gt;jmikola&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="1466486">DRIVERS-1390</key>
            <summary>Clarify that connection checkout for the initial attempt should not be retryable</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</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="13200">Declined</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="divjot.arora@mongodb.com">Divjot Arora</reporter>
                        <labels>
                    </labels>
                <created>Tue, 8 Sep 2020 22:53:56 +0000</created>
                <updated>Fri, 25 Aug 2023 13:31:03 +0000</updated>
                            <resolved>Wed, 9 Jun 2021 12:43:21 +0000</resolved>
                                                        <component>Retryability</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="3868303" author="rachelle.palmer" created="Wed, 9 Jun 2021 12:43:21 +0000"  >&lt;p&gt;Based on requests from users, we WILL retry authentication/connection errors as per &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-746&quot; title=&quot;Drivers should retry operations if connection handshake fails&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-746&quot;&gt;DRIVERS-746&lt;/a&gt;. &lt;/p&gt;</comment>
                            <comment id="3440400" author="divjot.arora" created="Mon, 12 Oct 2020 20:25:04 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=shane.harvey&quot; class=&quot;user-hover&quot; rel=&quot;shane.harvey&quot;&gt;shane.harvey&lt;/a&gt;&#160;I just filed this ticket to clarify because it seems like the specs are out of sync and the pseudocode can be improved. If we&apos;re changing this behavior in &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-746&quot; title=&quot;Drivers should retry operations if connection handshake fails&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-746&quot;&gt;DRIVERS-746&lt;/a&gt;, I&apos;m fine closing out this ticket in favor of that, but it&apos;s not clear to me whether that ticket is being prioritized based on the comments. Any ideas on what we want to do here?&lt;/p&gt;</comment>
                            <comment id="3440391" author="shane.harvey" created="Mon, 12 Oct 2020 20:19:08 +0000"  >&lt;p&gt;Wouldn&apos;t it be more robust to retry after errors on the connection checkout? Retrying is the behavior that is proposed in &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-746&quot; title=&quot;Drivers should retry operations if connection handshake fails&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-746&quot;&gt;DRIVERS-746&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;For example, imagine that an operation selects a server that is about to shutdown. If we already have a connection to that node we will get a retryable error when executing the operation. If we don&apos;t have a connection, the pool will automatically create one which will also fail. It seems odd to not retry in the second case. Not retrying would make drivers less robust in the face of Atlas maintenance. &lt;/p&gt;</comment>
                            <comment id="3381881" author="jmikola@gmail.com" created="Wed, 9 Sep 2020 13:18:22 +0000"  >&lt;p&gt;Note that neither &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/retryable-writes/retryable-writes.rst#executing-retryable-write-commands&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/blob/master/source/retryable-writes/retryable-writes.rst#executing-retryable-write-commands&lt;/a&gt; nor &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/retryable-reads/retryable-reads.rst#selecting-the-initial-server&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/blob/master/source/retryable-reads/retryable-reads.rst#selecting-the-initial-server&lt;/a&gt; discuss the connection pool &amp;#8211; so they should also be updated to be consistent with the pseudo-code in both specs.&lt;/p&gt;

&lt;p&gt;Additionally, the retryable reads pseudo-code includes &lt;tt&gt;return executeCommand(server, command);&lt;/tt&gt;, which may be a typo. Elsewhere in its pseudo-code, &lt;tt&gt;connection&lt;/tt&gt; is passed instead of &lt;tt&gt;server&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Feel free to address all of these in a PR.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="967617">DRIVERS-746</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                            <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10951" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Driver Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10940"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hxr11r:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>