<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:21:26 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-405] Retryable Reads </title>
                <link>https://jira.mongodb.org/browse/DRIVERS-405</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;div class=&quot;panel&quot; style=&quot;background-color: #c2d2c2;border-color: #cccccc;border-style: dashed;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width: 1px;border-bottom-style: dashed;border-bottom-color: #cccccc;background-color: #239eb0;&quot;&gt;&lt;b&gt;Epic Summary&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #c2d2c2;&quot;&gt;
&lt;h4&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;Summary&lt;/h4&gt;
&lt;p&gt;Drivers will automatically retry any read operation that has not yet received any results exactly once.&#160;&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Motivation&quot;&gt;&lt;/a&gt;Motivation&lt;/h4&gt;
&lt;p&gt;Alleviate application developer pain&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Application developers want to design fault tolerant or highly available applications without having to implement retry logic in their application&lt;/li&gt;
	&lt;li&gt;Application developers currently have to write boilerplate retry logic for reads (but not for writes).&lt;/li&gt;
	&lt;li&gt;Much like for retryable writes, developers should not need to think about this type of retry logic.&lt;/li&gt;
	&lt;li&gt;Furthermore, application developers transitioning from traditional, non-distributed architectures and topologies sometimes have a hard time reasoning about transitional MongoDB states due to single node faults or sharding/replication state.&lt;/li&gt;
	&lt;li&gt;Automatically retrying reads will allow these developers to focus more on the business logic and less on the implementation details of MongoDB.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Alleviate Atlas team pain. &lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;The Atlas team should be able to perform unplanned maintenance without impacting end users or requiring developers to add logic to prevent these failures from being exposed to the user.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&#160;&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;CastofCharacters&quot;&gt;&lt;/a&gt;Cast of Characters&lt;/h4&gt;
&lt;p&gt;Lead: &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; &lt;br/&gt;
Author: &lt;br/&gt;
POCs: Python, C# &lt;br/&gt;
Product Owner: Scott L; Rachelle Palmer&lt;br/&gt;
&#160;&lt;/p&gt;
&lt;h4&gt;&lt;a name=&quot;Documentation&quot;&gt;&lt;/a&gt;Documentation&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/specifications/commit/effe7a60ec9934ba5255e127570c445576363fe2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Relevant spec changes&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="413981">DRIVERS-405</key>
            <summary>Retryable Reads </summary>
                <type id="11" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14707&amp;avatarType=issuetype">Epic</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="-1">Unassigned</assignee>
                                    <reporter username="rathi.gnanasekaran">Rathi Gnanasekaran</reporter>
                        <labels>
                    </labels>
                <created>Tue, 8 Aug 2017 17:35:42 +0000</created>
                <updated>Sat, 28 Oct 2023 10:44:49 +0000</updated>
                            <resolved>Thu, 11 Jun 2020 20:04:50 +0000</resolved>
                                                                            <votes>0</votes>
                                    <watches>10</watches>
                                                                                                                <comments>
                            <comment id="3205957" author="alexander.golin" created="Thu, 11 Jun 2020 20:04:50 +0000"  >&lt;p&gt;Closed out the final dependency &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-615&quot; title=&quot;countDocuments should use group with _id: 1&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-615&quot;&gt;&lt;del&gt;DRIVERS-615&lt;/del&gt;&lt;/a&gt;, all dependencies are now complete. &lt;/p&gt;</comment>
                            <comment id="2193837" author="shane.harvey" created="Wed, 27 Mar 2019 21:54:45 +0000"  >&lt;p&gt;Now that this depends on the runOn syntax added in&#160;SPEC-1253,&#160;drivers also need to implement (or otherwise workaround) the countDocuments change in &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-615&quot; title=&quot;countDocuments should use group with _id: 1&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-615&quot;&gt;&lt;del&gt;DRIVERS-615&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="2158647" author="xgen-internal-githook" created="Thu, 21 Feb 2019 17:56:26 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Shane Harvey&apos;, &apos;email&apos;: &apos;shane.harvey@mongodb.com&apos;, &apos;username&apos;: &apos;ShaneHarvey&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-405&quot; title=&quot;Retryable Reads &quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-405&quot;&gt;&lt;del&gt;DRIVERS-405&lt;/del&gt;&lt;/a&gt; Fix mapReduce retryable reads test (#494)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/specifications/commit/1bc3b11c8d7523c7f1099b4c0c0839f3a0f33804&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/1bc3b11c8d7523c7f1099b4c0c0839f3a0f33804&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="629376">NODE-1744</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="629383">RUBY-1562</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="629389">CDRIVER-2873</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="629381">CSHARP-2429</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="672678">CSHARP-2482</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="629385">CXX-1685</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="629388">GODRIVER-624</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="629384">JAVA-3070</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="629387">MOTOR-283</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="629386">PHPC-1291</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="629380">PYTHON-1674</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="669750">RUST-128</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="707303">DRIVERS-615</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="542358">SERVER-34943</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10820">
                    <name>Initiative</name>
                                                                <inwardlinks description="included in Initiative">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="900224">DOCS-12964</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="686339">SERVER-39478</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                    <customfield id="customfield_13552" key="com.go2group.jira.plugin.crm:crm_generic_field">
                        <customfieldname>Case</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[[5002K00000eABpdQAG]]]></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_23952" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Driver Compliance</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<style type='text/css'>
         #scriptField, #scriptField *{
                border: 1px solid black;
            }

            #scriptField{
                border-collapse: collapse;
            }

            #scriptField td {
                text-align: center; /* Center-align text in table cells */
            }

            #scriptField td.key {
                text-align: left; /* Left-align text in the Key column */
            }

            #scriptField a {
                text-decoration: none; /* Remove underlines from links */
                border: none; /* Remove border from links */
            }
            
            /* Add green background color to cells with FixVersion */
            #scriptField td.hasFixVersion {
                background-color: #00FF00; /* Green color code */
            }

            /* Center-align the first row headers */
            #scriptField th {
                text-align: center;
            }
        </style>
<table id='scriptField'>
  <tr>
    <th>Key</th>
    <th>Status/Resolution</th>
    <th>FixVersion</th>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/NODE-1744'>NODE-1744</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>3.3.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/SCALA-466'>SCALA-466</a>
    </td>
    <td>Done</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PYTHON-1674'>PYTHON-1674</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>3.9</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CSHARP-2429'>CSHARP-2429</a>
    </td>
    <td>Done</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PERL-1025'>PERL-1025</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.2.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUBY-1562'>RUBY-1562</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.9.0.rc0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/JAVA-3070'>JAVA-3070</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>3.11.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CXX-1685'>CXX-1685</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>3.5.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PHPC-1291'>PHPC-1291</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.6.0alpha3, 1.6.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/MOTOR-283'>MOTOR-283</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.1</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/GODRIVER-624'>GODRIVER-624</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.1.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CDRIVER-2873'>CDRIVER-2873</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.15.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUST-128'>RUST-128</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.1.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CSHARP-2482'>CSHARP-2482</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.9.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/SWIFT-587'>SWIFT-587</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>0.2.0</td>
  </tr>
</table>]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10858" key="com.pyxis.greenhopper.jira:gh-epic-label">
                        <customfieldname>Epic Name</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Retryable Reads</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10859" key="com.pyxis.greenhopper.jira:gh-epic-status">
                        <customfieldname>Epic Status</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10642"><![CDATA[Done]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_23450" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Initiative Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[
                            <a href="https://jira.mongodb.org/browse/INIT-4">INIT-4</a> - Minimizing Atlas Planned Maintenance Impact
                    ]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY21Q1</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|ht4bon:</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_11150" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>SERVER fixVersion</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="15143"><![CDATA[4.2]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_22279" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Server Compat</customfieldname>
                        <customfieldvalues>
                                        <label>4.0</label>
            <label>4.1</label>
            <label>4.2</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>