<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:26:00 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-2609] Deprecate sharded-replicaset topology type and clean up redundant runOnRequirements</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-2609</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;I came across some redundant runOnRequirement definitions in various spec tests while reviewing &lt;a href=&quot;https://github.com/mongodb/specifications/pull/1389#discussion_r1172115167&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongodb/specifications#1389&lt;/a&gt; for &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2577&quot; title=&quot;Add runCommand specification and remove readConcern and writeConcern options from unified test runCommand operation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2577&quot;&gt;DRIVERS-2577&lt;/a&gt;. For instance, some specs include both &quot;sharded-replicaset&quot; and &quot;sharded&quot; in the same &lt;tt&gt;topologies&lt;/tt&gt; array.&lt;/p&gt;

&lt;p&gt;MongoDB 3.6+ requires that all shards be replica sets (see: &lt;a href=&quot;https://www.mongodb.com/docs/manual/release-notes/3.6-upgrade-sharded-cluster/#shard-replica-sets&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Shard Replica Sets&lt;/a&gt; from the MongoDB 3.6 release notes). With that in mind, the &quot;sharded-replicaset&quot; topology is not useful for runOnRequirements that specify a minServerVersion of 3.6+.&lt;/p&gt;

&lt;p&gt;Historically, I cannot recall a case where a test incorrectly used &quot;sharded&quot; &lt;em&gt;instead of&lt;/em&gt; &quot;sharded-replicaset&quot;. This would only have been an issue for testing on pre-3.6 servers, but most of the features that require replica sets already require 3.6+ (e.g. change streams, transactions). Additionally, the mongo-orchestration configs in &lt;a href=&quot;https://github.com/mongodb-labs/drivers-evergreen-tools&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;drivers-evergreen-tools&lt;/a&gt; have historically used replica sets for shards.&lt;/p&gt;

&lt;p&gt;The Unified Test Format spec format would do well to deprecate &quot;sharded-replicaset&quot; and encourage tests to use &quot;sharded&quot; in its place (when targeting 3.6+ servers).&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;Driver developers.&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;Using &quot;sharded-replicaset&quot; adds unnecessary overhead. Additionally, redundant runOnRequirements make tests files more verbose.&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.&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="2319426">DRIVERS-2609</key>
            <summary>Deprecate sharded-replicaset topology type and clean up redundant 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>
                            <label>leads-triage</label>
                    </labels>
                <created>Thu, 20 Apr 2023 06:43:56 +0000</created>
                <updated>Mon, 21 Aug 2023 20:11:40 +0000</updated>
                                                                <component>Change Streams</component>
                    <component>CSOT</component>
                    <component>Retryability</component>
                    <component>Sessions</component>
                    <component>Stable API</component>
                    <component>Transactions</component>
                    <component>Unified Test Runner</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="5451945" author="xgen-internal-githook" created="Thu, 25 May 2023 14:02:02 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Dmitry Rybakov&apos;, &apos;email&apos;: &apos;dmitry.rybakov@mongodb.com&apos;, &apos;username&apos;: &apos;comandeo&apos;}
&lt;p&gt;Message: POC for &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2609&quot; title=&quot;Deprecate sharded-replicaset topology type and clean up redundant runOnRequirements&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2609&quot;&gt;DRIVERS-2609&lt;/a&gt; (#2714)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-ruby-driver/commit/0feee3ab4dbebd6bffa9924259e71d3ccb299a67&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-ruby-driver/commit/0feee3ab4dbebd6bffa9924259e71d3ccb299a67&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5419602" author="xgen-internal-githook" created="Fri, 12 May 2023 02:36:47 +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-2609&quot; title=&quot;Deprecate sharded-replicaset topology type and clean up redundant runOnRequirements&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2609&quot;&gt;DRIVERS-2609&lt;/a&gt;: Deprecate sharded-replicaset topology type and clean up redundant runOnRequirements (#1408)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2609&quot; title=&quot;Deprecate sharded-replicaset topology type and clean up redundant runOnRequirements&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2609&quot;&gt;DRIVERS-2609&lt;/a&gt;: Deprecate &quot;sharded-replicaset&quot; topology type in runOnRequirements&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;MongoDB 3.6+ requires all shards to be replica sets, so there is no reason use &quot;sharded-replicaset&quot; instead of &quot;sharded&quot;.&lt;/p&gt;

&lt;p&gt;The &quot;sharded-replicaset&quot; topology type dates back to the first version of the Unified Test Format, but it&apos;s not clear it was ever truly necessary. It appears to have only been used in conjunction with 3.6+ minServerVersion requirements.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Remove redundant usage of &quot;sharded-replicaset&quot; in runOnRequirements&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Remove redundant runOnRequirements in CSOT tests&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;A replica set will already be matched by the first runOnRequirement.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Update link to config.shards docs page in Unified Test Format spec&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2610&quot; title=&quot;Note that load-balanced topologies are backed by sharded clusters with replica sets&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2610&quot;&gt;&lt;del&gt;DRIVERS-2610&lt;/del&gt;&lt;/a&gt;: Note that LB topology implicitly has replica set shards&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/specifications/commit/474ddfcc335225df4410986be2b10ae41a736d20&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/474ddfcc335225df4410986be2b10ae41a736d20&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="5361496" author="jmikola@gmail.com" created="Thu, 20 Apr 2023 07:37:17 +0000"  >&lt;p&gt;PR: &lt;a href=&quot;https://github.com/mongodb/specifications/pull/1408&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/pull/1408&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                            <outwardlinks description="split to">
                                        <issuelink>
            <issuekey id="2336494">CDRIVER-4639</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2336496">CSHARP-4649</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2336497">GODRIVER-2838</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2336501">PYTHON-3712</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2336495">CXX-2690</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2336498">JAVA-4961</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2336500">MOTOR-1132</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2336502">PHPLIB-1132</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2336503">RUBY-3254</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2336504">RUST-1649</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2336499">NODE-5276</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2319709">DRIVERS-2610</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2393715">DRIVERS-2675</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2393640">PHPLIB-1202</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="901048">PHPLIB-464</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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 spec tests to &lt;a href=&quot;https://github.com/mongodb/specifications/commit/474ddfcc335225df4410986be2b10ae41a736d20&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongodb/specifications@474ddfc&lt;/a&gt; for the following directories:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;change-streams/tests/unified&lt;/li&gt;
	&lt;li&gt;client-side-operations-timeout/tests&lt;/li&gt;
	&lt;li&gt;retryable-writes/tests/unified&lt;/li&gt;
	&lt;li&gt;sessions/tests&lt;/li&gt;
	&lt;li&gt;transactions/tests/unified&lt;/li&gt;
	&lt;li&gt;unified-test-format/tests/valid-pass&lt;/li&gt;
	&lt;li&gt;versioned-api/tests&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;No test runner changes should be required.&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-4639'>CDRIVER-4639</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CXX-2690'>CXX-2690</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>3.8.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CSHARP-4649'>CSHARP-4649</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/GODRIVER-2838'>GODRIVER-2838</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/JAVA-4961'>JAVA-4961</a>
    </td>
    <td>Won't Fix</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/NODE-5276'>NODE-5276</a>
    </td>
    <td>Scheduled</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/MOTOR-1132'>MOTOR-1132</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PYTHON-3712'>PYTHON-3712</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PHPLIB-1132'>PHPLIB-1132</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.16.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUBY-3254'>RUBY-3254</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.19.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUST-1649'>RUST-1649</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.6.0</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|i1nu3s:</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, 11 May 2023 00:00:00 +0000</customfieldvalue>

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