<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:36:01 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>[GODRIVER-1252] Have RunCommandCursor implement retryable read</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-1252</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;p&gt;Because &lt;tt&gt;RunCommandCursor&lt;/tt&gt; returns a cursor, we know the command is a read command, so it would help users who implement custom read commands with it to have it implement retryable reads.&lt;/p&gt;

&lt;p&gt;This is encouraged by the &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/retryable-reads/retryable-reads.rst#supported-read-operations&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;retryable reads spec&lt;/a&gt;, which says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Any driver that provides generic command runners for read commands(with logic to inherit a client-level read concerns) SHOULD implement retryability for the read-only command runner.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;In the short term, it would also help tools/mongomirror implement custom find commands without implementing their own retryable read logic.&lt;/p&gt;</description>
                <environment></environment>
        <key id="905822">GODRIVER-1252</key>
            <summary>Have RunCommandCursor implement retryable read</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="-1">Unassigned</assignee>
                                    <reporter username="david.golden@mongodb.com">David Golden</reporter>
                        <labels>
                    </labels>
                <created>Sun, 25 Aug 2019 18:59:34 +0000</created>
                <updated>Mon, 27 Mar 2023 19:49:32 +0000</updated>
                                                                                                <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="2421996" author="divjot.arora" created="Mon, 16 Sep 2019 19:11:20 +0000"  >&lt;p&gt;To summarize an offline conversation with &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=david.golden&quot; class=&quot;user-hover&quot; rel=&quot;david.golden&quot;&gt;david.golden&lt;/a&gt;: we&apos;re ok with having this functionality. This isn&apos;t very high priority for the tools team and they&apos;re willing to submit a PR when it&apos;s prioritized on their end, so I&apos;m going to leave this as &quot;Open&quot; for now.&lt;/p&gt;</comment>
                            <comment id="2387325" author="david.golden" created="Mon, 26 Aug 2019 21:10:46 +0000"  >&lt;p&gt;I think if it would error anyway with anything that doesn&apos;t return a cursor, I don&apos;t think there&apos;s much risk.&#160; In normal usage, it wouldn&apos;t ever be used for anything other than a read command that returns a cursor so assuming that it&apos;s being used correctly seems reasonable to me.&#160; The odds that someone is using it incorrectly (and ignoring the error)&#160;&lt;b&gt;and&lt;/b&gt; experiencing a retryable error seem vanishingly small, so the risk of repeating a write seem acceptable. If they are ignoring errors and not noticing incorrect usage, then the duplicate write error is their fault, not the driver&apos;s.&lt;/p&gt;</comment>
                            <comment id="2387291" author="divjot.arora" created="Mon, 26 Aug 2019 20:46:33 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=david.golden&quot; class=&quot;user-hover&quot; rel=&quot;david.golden&quot;&gt;david.golden&lt;/a&gt; I think this sounds like a reasonable idea, but &lt;tt&gt;RunCommandCursor&lt;/tt&gt; doesn&apos;t do any introspection of the command document. A user could use it to accidentally run a write command and wouldn&apos;t know of the error until after the command is finished running. Given that the method is part of our supported public API, it seems risky to add retryability to it. Thoughts?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                                        </outwardlinks>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="878019">TOOLS-2343</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hvbg8n:</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>