<!-- 
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-1385] Make retryable write test error labels behave consistently with server</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-1385</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;h2&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;Summary&lt;/h2&gt;
&lt;p&gt;Drivers should sync the tests updated in &lt;a href=&quot;https://github.com/mongodb/specifications/commit/564547496b60c1f013c1a2edc27dd690f57ba04c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this commit&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In our retryable writes spec tests, when a RetryableWriteError label is returned on a writeConcernError, we use fail points to include the label in the writeConcernError object, rather than as a top-level field on the error itself. &lt;a href=&quot;https://github.com/mongodb/specifications/blob/e0f32a668c514ef5268c92e334ec48ba7b962790/source/retryable-writes/tests/deleteOne-serverErrors.json#L80&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Here&apos;s an example&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The server always returns error labels as top-level fields, so we should modify our spec tests to do so as well so that drivers do not need to check both the writeConcernError object and the error object for the presence of an error label.&lt;/p&gt;

&lt;h2&gt;&lt;a name=&quot;Motivation&quot;&gt;&lt;/a&gt;Motivation&lt;/h2&gt;
&lt;p&gt;User reported running while testing Atlas by looping an update one operation during a failover with the default connection string.&lt;br/&gt;
&quot;Test Failover&quot; is often used to mimic Atlas Planned Maintenance by users who are on the Atlas Platform and consists of a very simple election/stepdown process that all clusters/user applications  &lt;em&gt;should&lt;/em&gt; be able to handle without any downtime. &lt;/p&gt;


&lt;h2&gt;&lt;a name=&quot;Iftheproblemdoesoccur%2Cwhataretheconsequencesandhowseverearethey%3F&quot;&gt;&lt;/a&gt;If the problem does occur, what are the consequences and how severe are they?&lt;/h2&gt;
&lt;p&gt;&lt;font color=&quot;#DE350B&quot;&gt;The write may or may not have been propagated to the servers.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;See also &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-51329&quot; title=&quot;Unexpected non-retryable error when shutting down a mongos server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-51329&quot;&gt;&lt;del&gt;SERVER-51329&lt;/del&gt;&lt;/a&gt;, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-53624&quot; title=&quot;4.4 mongos does not attach RetryableWriteError label to shutdown errors&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-53624&quot;&gt;&lt;del&gt;SERVER-53624&lt;/del&gt;&lt;/a&gt;, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-55648&quot; title=&quot;Mongos doesn&amp;#39;t return top-level batch-write error in case of shutdown&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-55648&quot;&gt;&lt;del&gt;SERVER-55648&lt;/del&gt;&lt;/a&gt;, HELP-23256, HELP-30952. In particular, implementations of this ticket should note the more recent observations in &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-4244&quot; title=&quot;Top level error labels aren&amp;#39;t added to WriteConcernErrors&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-4244&quot;&gt;&lt;del&gt;JAVA-4244&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1460062">DRIVERS-1385</key>
            <summary>Make retryable write test error labels behave consistently with server</summary>
                <type id="14901" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14700&amp;avatarType=issuetype">Spec Change</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="13453" iconUrl="https://jira.mongodb.org/images/icons/status_generic.gif" description="">Implementing</status>
                    <statusCategory id="4" key="indeterminate" colorName="inprogress"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="isabel.atkinson@mongodb.com">Isabel Atkinson</assignee>
                                    <reporter username="emily.giurleo@mongodb.com">Emily Giurleo</reporter>
                        <labels>
                            <label>leads-triage</label>
                    </labels>
                <created>Wed, 2 Sep 2020 14:59:54 +0000</created>
                <updated>Wed, 3 Jan 2024 20:14:40 +0000</updated>
                                                                <component>Retryability</component>
                                        <votes>0</votes>
                                    <watches>9</watches>
                                                                                                                <comments>
                            <comment id="5361436" author="jmikola@gmail.com" created="Thu, 20 Apr 2023 07:07:29 +0000"  >&lt;p&gt;I just noticed that &lt;a href=&quot;https://github.com/mongodb/specifications/commit/ab48c5768bd5a19f27ee62d10951670448a8d8e9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/ab48c5768bd5a19f27ee62d10951670448a8d8e9&lt;/a&gt; (with unified tests) was never added to the downstream changes for this issue, so I&apos;ve updated the field.&lt;/p&gt;

&lt;p&gt;I also went through the resolved language tickets to see if anyone missed syncing those tests and left follow-up tests on:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/NODE-3733?focusedCommentId=5361442&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-5361442&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;NODE-3733&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/PHPLIB-755?focusedCommentId=5361481&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-5361481&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;PHPLIB-755&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/RUBY-2836?focusedCommentId=5361476&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-5361476&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;RUBY-2836&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="4520506" author="JIRAUSER1263031" created="Mon, 2 May 2022 17:55:35 +0000"  >&lt;p&gt;Leads Triage: &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=isabel.atkinson%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;isabel.atkinson@mongodb.com&quot;&gt;isabel.atkinson@mongodb.com&lt;/a&gt;, &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=rachelle.palmer%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;rachelle.palmer@mongodb.com&quot;&gt;rachelle.palmer@mongodb.com&lt;/a&gt;updated this ticket&apos;s description.  Can you please review it and validate your spec PR covers everything.&lt;/p&gt;</comment>
                            <comment id="4178668" author="xgen-internal-githook" created="Tue, 9 Nov 2021 19:51:14 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Isabel Atkinson&apos;, &apos;email&apos;: &apos;isabel.atkinson@mongodb.com&apos;, &apos;username&apos;: &apos;isabelatkinson&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-1385&quot; title=&quot;Make retryable write test error labels behave consistently with server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-1385&quot;&gt;DRIVERS-1385&lt;/a&gt; Always specify error labels at the top level (#1086)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/specifications/commit/564547496b60c1f013c1a2edc27dd690f57ba04c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/564547496b60c1f013c1a2edc27dd690f57ba04c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3963036" author="xgen-internal-githook" created="Mon, 26 Jul 2021 15:35:49 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Yemin&apos;, &apos;email&apos;: &apos;jeff.yemin@mongodb.com&apos;, &apos;username&apos;: &apos;jyemin&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-1385&quot; title=&quot;Make retryable write test error labels behave consistently with server&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-1385&quot;&gt;DRIVERS-1385&lt;/a&gt;: Test top-level errorLabel with writeConcernError (#1042)&lt;/p&gt;

&lt;p&gt;Add unified tests that add RetryableWriteError as a top-level&lt;br/&gt;
errorLabel of a writeConcernError, as is done by actual&lt;br/&gt;
MongoDB server.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/specifications/commit/ab48c5768bd5a19f27ee62d10951670448a8d8e9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/ab48c5768bd5a19f27ee62d10951670448a8d8e9&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3381987" author="jmikola@gmail.com" created="Wed, 9 Sep 2020 13:57:21 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=ross.lawley&quot; class=&quot;user-hover&quot; rel=&quot;ross.lawley&quot;&gt;ross.lawley&lt;/a&gt;: Looking at the retryable writes spec, it appears you originally added the first mention of &lt;tt&gt;errorLabels&lt;/tt&gt; being nested within a &lt;tt&gt;writeConcernError&lt;/tt&gt; in &lt;a href=&quot;https://github.com/mongodb/specifications/commit/44d71db7bff57b95cd65b554cf0aedb5159e58d9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;44d71db&lt;/a&gt;. Unfortunately, &lt;a href=&quot;https://github.com/mongodb/specifications/pull/750&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;PR #750&lt;/a&gt; isn&apos;t linked to a DRIVERS/SPEC ticket and we have no more context for the change. &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=emily.giurleo&quot; class=&quot;user-hover&quot; rel=&quot;emily.giurleo&quot;&gt;emily.giurleo&lt;/a&gt; later modified the text in &lt;a href=&quot;https://github.com/mongodb/specifications/commit/cf29252d75c9dffd1fdc66745fa2236bf95d5fe1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;cf29252&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Before I ask the server team if there were any &lt;em&gt;stable&lt;/em&gt; server versions that actually included labels in a &lt;tt&gt;writeConcernError&lt;/tt&gt;, can you explain the justification for this change? If this was only added due to some pre-4.4 behavior in a 4.3.x release, then I think we can drop it entirely.&lt;/p&gt;


</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                            <outwardlinks description="split to">
                                        <issuelink>
            <issuekey id="1914671">PYTHON-2984</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1914670">PHPLIB-755</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1914668">JAVA-4382</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1914666">CSHARP-3944</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1914665">CXX-2406</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1914667">GODRIVER-2212</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1914664">CDRIVER-4210</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1914672">MOTOR-849</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1914669">NODE-3733</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1914673">RUBY-2836</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1914674">RUST-1088</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2528176">DRIVERS-2799</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2535553">DRIVERS-2802</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1823601">JAVA-4244</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1559187">PYTHON-2452</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_10257" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Documentation Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10250"><![CDATA[Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_17052" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Downstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;Drivers should sync the retryable-writes and transaction spec tests updated in the following commits:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://github.com/mongodb/specifications/commit/ab48c5768bd5a19f27ee62d10951670448a8d8e9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongodb/specifications@ab48c57&lt;/a&gt; (legacy and unified tests)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://github.com/mongodb/specifications/commit/564547496b60c1f013c1a2edc27dd690f57ba04c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongodb/specifications@5645474&lt;/a&gt; (legacy tests)&lt;/li&gt;
&lt;/ul&gt;
</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10951" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Driver Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10748"><![CDATA[Needed]]></customfieldvalue>

                        </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/CDRIVER-4210'>CDRIVER-4210</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.26.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CXX-2406'>CXX-2406</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CSHARP-3944'>CSHARP-3944</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/GODRIVER-2212'>GODRIVER-2212</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/JAVA-4382'>JAVA-4382</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>4.4.1</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/NODE-3733'>NODE-3733</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>4.4.0, 5.4.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PHPLIB-755'>PHPLIB-755</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.11.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PYTHON-2984'>PYTHON-2984</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>3.12.2, 4.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/MOTOR-849'>MOTOR-849</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUBY-2836'>RUBY-2836</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.18.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUST-1088'>RUST-1088</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.2.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/SWIFT-1402'>SWIFT-1402</a>
    </td>
    <td>Won't Do</td>
    <td class=''></td>
  </tr>
</table>]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hvwqof:</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_14261" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>Start date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 18 Nov 2021 00:00:00 +0000</customfieldvalue>

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