<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:26:15 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-2713] Permit legacy transaction tests to run on load-balanced topologies and Atlas Serverless</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-2713</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;In &lt;a href=&quot;https://github.com/mongodb/specifications/commit/d2de77692b727b805168eeba02c3ab29e6a1d3e2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;d2de776&lt;/a&gt; for DRIVERS-720, various legacy spec tests were updated to incorporate &quot;load-balanced&quot; into their topology &lt;tt&gt;runOn&lt;/tt&gt; requirements. The transactions spec was notably omitted. As a result, a segment of legacy spec tests are never run on Atlas Serverless, which the driver sees as a load balanced topology (see &lt;a href=&quot;https://github.com/mongodb/specifications/commit/1b471f1a691578a6592c328218188c8be7b3b15b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;1b471f1&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-1967&quot; title=&quot;Update serverless testing for load balancer fronting single proxy&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-1967&quot;&gt;DRIVERS-1967&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Note that the &lt;tt&gt;serverless&lt;/tt&gt; &lt;tt&gt;runOn&lt;/tt&gt; requirement does not come into play here, as that&apos;s generally used with &quot;forbid&quot; to &lt;em&gt;prohibit&lt;/em&gt; running tests. Even if a test specified &quot;require&quot; or &quot;allow&quot; (the default) for &lt;tt&gt;serverless&lt;/tt&gt;, that alone would not be sufficient to run the test if &lt;tt&gt;topology&lt;/tt&gt; was also specified and omitted &quot;load-balanced&quot;.&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;Whoistheaffectedenduser%3F&quot;&gt;&lt;/a&gt;Who is the affected end user?&lt;/h4&gt;
&lt;p&gt;Drivers running legacy transaction specs tests.&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Howdoesthisaffecttheenduser%3F&quot;&gt;&lt;/a&gt;How does this affect the end user?&lt;/h4&gt;
&lt;p&gt;Legacy transaction spec tests have no test coverage on load-balanced toplogies (including Atlas Serverless).&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Howlikelyisitthatthisproblemorusecasewilloccur%3F&quot;&gt;&lt;/a&gt;How likely is it that this problem or use case will occur?&lt;/h4&gt;
&lt;p&gt;Likely applies to all drivers, since the issue is in the spec tests themselves.&lt;/p&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, as the issue dates back over a year and was only recently discovered by the Java team.&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="2432808">DRIVERS-2713</key>
            <summary>Permit legacy transaction tests to run on load-balanced topologies and Atlas Serverless</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</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="jmikola@mongodb.com">Jeremy Mikola</assignee>
                                    <reporter username="jmikola@mongodb.com">Jeremy Mikola</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Sep 2023 18:02:01 +0000</created>
                <updated>Wed, 7 Feb 2024 18:48:32 +0000</updated>
                                                                <component>Transactions</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="6076159" author="jmikola@gmail.com" created="Wed, 7 Feb 2024 18:48:32 +0000"  >&lt;p&gt;Note: if any drivers implement DRIVERS-1709 first (porting legacy transaction spec tests to unified format), there will be no work needed for this ticket.&lt;/p&gt;</comment>
                            <comment id="5739355" author="jmikola@gmail.com" created="Thu, 28 Sep 2023 23:35:33 +0000"  >&lt;p&gt;Note: drivers that do not pin connections on load balancers (e.g. libmongoc, PHP) can consider skipping the following tests:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on insertOne&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on insertOne insert&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on insertMany insert&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on updateOne update&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on replaceOne update&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on updateMany update&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on deleteOne delete&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on deleteMany delete&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on findOneAndDelete findAndModify&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on findOneAndUpdate findAndModify&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on findOneAndReplace findAndModify&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on bulkWrite insert&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on bulkWrite update&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on bulkWrite delete&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on find find&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on countDocuments aggregate&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on aggregate aggregate&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on distinct distinct&lt;/li&gt;
	&lt;li&gt;mongos-pin-auto: remain pinned after non-transient Interrupted error on runCommand insert&lt;/li&gt;
	&lt;li&gt;pin-mongos: multiple commits&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="5739333" author="xgen-internal-githook" created="Thu, 28 Sep 2023 23:29:31 +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-2713&quot; title=&quot;Permit legacy transaction tests to run on load-balanced topologies and Atlas Serverless&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2713&quot;&gt;DRIVERS-2713&lt;/a&gt;: Run legacy transaction tests on LB topologies (#1459)&lt;/p&gt;

&lt;p&gt;d2de77692b727b805168eeba02c3ab29e6a1d3e2 previously added &quot;load-balanced&quot; to other legacy test formats but omitted the transactions spec.&lt;/p&gt;

&lt;p&gt;This change ensures legacy transaction tests can be run on LB topologies, including Atlas Serverless (where &quot;serverless: forbid&quot; is not specified).&lt;/p&gt;

&lt;p&gt;Some tests in retryable-commit.yml are incompatible with serverless and have been split off into a separate file with &quot;serverless: forbid&quot;.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/specifications/commit/38e65fc8e59fedea351d9393ae43d305cde6ce00&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/38e65fc8e59fedea351d9393ae43d305cde6ce00&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5675545" author="jmikola@gmail.com" created="Fri, 1 Sep 2023 18:32:35 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/specifications/pull/1459&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/pull/1459&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5675517" author="jmikola@gmail.com" created="Fri, 1 Sep 2023 18:18:47 +0000"  >&lt;p&gt;Note: I&apos;ve confirmed that this only affects the legacy transaction spec tests. &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-1525&quot; title=&quot;Migrate all Spec Tests to The Unified Test Runner&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-1525&quot;&gt;DRIVERS-1525&lt;/a&gt; covers all specs that still have legacy tests that need to be ported over to the unified format, and only the transactions spec was using &quot;topology&quot; with &quot;sharded&quot; and without &quot;load-balanced&quot;. The convenient API was not affected as those have all been ported to the unified format, and other unported specs (e.g. CRUD v1, ADL) don&apos;t use topology requirements at all.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                            <outwardlinks description="split to">
                                        <issuelink>
            <issuekey id="2432813">CSHARP-4780</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2432811">CXX-2744</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2432814">GODRIVER-2971</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2432822">RUBY-3325</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2432824">RUST-1756</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2432820">PYTHON-3947</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2432810">CDRIVER-4717</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2432817">MOTOR-1186</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2432821">PHPLIB-1228</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2432816">NODE-5608</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2432815">JAVA-5133</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2434459">CDRIVER-4718</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2539437">DRIVERS-2806</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1912962">DRIVERS-1967</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;Sync legacy transaction spec tests with &lt;a href=&quot;https://github.com/mongodb/specifications/commit/38e65fc8e59fedea351d9393ae43d305cde6ce00&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;38e65fc&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Drivers that do not pin connections on load balancers (e.g. libmongoc, PHP) can consider skipping the tests listed in &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2713?focusedCommentId=5739355&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-5739355&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;this comment&lt;/a&gt;.&lt;/p&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-4717'>CDRIVER-4717</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-2744'>CXX-2744</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CSHARP-4780'>CSHARP-4780</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/GODRIVER-2971'>GODRIVER-2971</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/JAVA-5133'>JAVA-5133</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/NODE-5608'>NODE-5608</a>
    </td>
    <td>Scheduled</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/MOTOR-1186'>MOTOR-1186</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PYTHON-3947'>PYTHON-3947</a>
    </td>
    <td>Blocked</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PHPLIB-1228'>PHPLIB-1228</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.17.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUBY-3325'>RUBY-3325</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUST-1756'>RUST-1756</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>jeff.yemin@mongodb.com</customfieldvalue>

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

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