<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:26: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-2799] Test-level runOnRequirements in retryable writes tests should not be more permissive than top-level runOnRequirements</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-2799</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;div class=&quot;panel&quot; style=&quot;background-color: #fafbfc;border-color: #21313c;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #fafbfc;&quot;&gt;
&lt;h3&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/h3&gt;

&lt;p&gt;The unified spec tests introduced in &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;ab48c57&lt;/a&gt; for &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; incorrectly specify top-level &lt;tt&gt;runOnRequirements&lt;/tt&gt; that are &lt;em&gt;more&lt;/em&gt; restrictive than the test-level &lt;tt&gt;runOnRequirements&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Those tests may have been copied from the original &lt;tt&gt;poc-retryable-writes.yml&lt;/tt&gt; tests introduced in &lt;a href=&quot;https://github.com/mongodb/specifications/commit/e4808b84f804f8b08293dcd51ce107e10a40589f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;e4808b8&lt;/a&gt; for DRIVERS-709, which have the same issue.&lt;/p&gt;

&lt;p&gt;This is contrary to the advice in the &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/unified-test-format/unified-test-format.rst#test&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Unified Test Format&lt;/a&gt; spec:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;Test-level&amp;#93;&lt;/span&gt; requirements SHOULD be more restrictive than those specified in the top-level runOnRequirements (if any) and SHOULD NOT be more permissive. This is advised because both sets of requirements MUST be satisified in order for a test to be executed and more permissive requirements at the test-level could be taken out of context on their own.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;As currently written, the spec tests will never run on sharded clusters and load balancers because the top-level &lt;tt&gt;runOnRequirements&lt;/tt&gt; require a replica set.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;Motivation&quot;&gt;&lt;/a&gt;&lt;b&gt;Motivation&lt;/b&gt;&lt;/h3&gt;

&lt;h4&gt;&lt;a name=&quot;Isthisissueurgent%3F&quot;&gt;&lt;/a&gt;Is this issue urgent?&lt;/h4&gt;
&lt;p&gt;No.&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Isthisticketrequiredbyadownstreamteam%3F&quot;&gt;&lt;/a&gt;Is this ticket required by a downstream team?&lt;/h4&gt;
&lt;p&gt;No.&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Isthisticketonlyfortests%3F&quot;&gt;&lt;/a&gt;Is this ticket only for tests?&lt;/h4&gt;
&lt;p&gt;Yes.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="2528176">DRIVERS-2799</key>
            <summary>Test-level runOnRequirements in retryable writes tests should not be more permissive than top-level runOnRequirements</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</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="jmikola@mongodb.com">Jeremy Mikola</assignee>
                                    <reporter username="jmikola@mongodb.com">Jeremy Mikola</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 Dec 2023 02:04:09 +0000</created>
                <updated>Wed, 20 Dec 2023 19:37:21 +0000</updated>
                                                                <component>Retryability</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="5963918" author="xgen-internal-githook" created="Wed, 20 Dec 2023 19:34:36 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Jeremy Mikola&apos;, &apos;email&apos;: &apos;jmikola@gmail.com&apos;, &apos;username&apos;: &apos;jmikola&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2799&quot; title=&quot;Test-level runOnRequirements in retryable writes tests should not be more permissive than top-level runOnRequirements&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2799&quot;&gt;DRIVERS-2799&lt;/a&gt;: Use more permissive top-level runOnRequirements (#1484)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2799&quot; title=&quot;Test-level runOnRequirements in retryable writes tests should not be more permissive than top-level runOnRequirements&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2799&quot;&gt;DRIVERS-2799&lt;/a&gt;: Use more permissive top-level runOnRequirements&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This avoids unintentionally skipping tests. Previously, some tests were never run on sharded clusters.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Add RetryableWriteError error label via failCommand fail point&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This ensures the unified test is consistent with the legacy test from which it was derived. Additionally, it makes the test resilient to possible changes in DRIVERS-1641.&lt;/p&gt;

&lt;p&gt;This inconsistency dates back to e4808b84f804f8b08293dcd51ce107e10a40589f.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/specifications/commit/4c73bb13daa0241a3956a30b451edda10f79dde6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/4c73bb13daa0241a3956a30b451edda10f79dde6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5959262" author="jmikola@gmail.com" created="Tue, 19 Dec 2023 04:12:06 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/specifications/pull/1484&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/pull/1484&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5959259" author="jmikola@gmail.com" created="Tue, 19 Dec 2023 04:09:14 +0000"  >&lt;p&gt;Encountered this while working on DRIVERS-1641.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                            <outwardlinks description="split to">
                                        <issuelink>
            <issuekey id="2528239">CSHARP-4887</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2528238">CXX-2798</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2528240">GODRIVER-3073</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2528241">JAVA-5272</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2528244">PYTHON-4110</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2528247">RUST-1811</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2528237">CDRIVER-4798</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2528243">MOTOR-1226</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2528245">PHPLIB-1326</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2528246">RUBY-3361</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2528242">NODE-5797</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1460062">DRIVERS-1385</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_17052" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Downstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;&lt;b&gt;Summary of necessary driver changes&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;No driver changes needed beyond syncing spec tests&#160;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;Commits for syncing spec/prose tests&lt;/b&gt; &lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Sync unified spec tests for retryable-writes and unified-test-format/valid-pass with &lt;a href=&quot;https://github.com/mongodb/specifications/commit/4c73bb13daa0241a3956a30b451edda10f79dde6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;4c73bb1&lt;/a&gt;&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-4798'>CDRIVER-4798</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-2798'>CXX-2798</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CSHARP-4887'>CSHARP-4887</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/GODRIVER-3073'>GODRIVER-3073</a>
    </td>
    <td>Backlog</td>
    <td class=''>2.1.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/JAVA-5272'>JAVA-5272</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/NODE-5797'>NODE-5797</a>
    </td>
    <td>Scheduled</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/MOTOR-1226'>MOTOR-1226</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PYTHON-4110'>PYTHON-4110</a>
    </td>
    <td>Backlog</td>
    <td class=''>4.7</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PHPLIB-1326'>PHPLIB-1326</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.18.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUBY-3361'>RUBY-3361</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.20.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUST-1811'>RUST-1811</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
</table>]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18362" key="com.atlassian.jira.plugin.system.customfieldtypes:userpicker">
                        <customfieldname>Engineering Lead</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>andreas.braun@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i2my4c:</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>Tue, 19 Dec 2023 00:00:00 +0000</customfieldvalue>

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