<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:19:29 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>[SERVER-49305] Remove reconfig retries in our tests</title>
                <link>https://jira.mongodb.org/browse/SERVER-49305</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;The reconfig helpers throughout the testing infrastructure retry on various transient errors. Some are due to automatic reconfigs that bump the config version and happen asynchronously, others are due to unnecessary connections being closed due to &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48178&quot; title=&quot;Finding self in reconfig may be interrupted by closing connections due to rollback&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48178&quot;&gt;&lt;del&gt;SERVER-48178&lt;/del&gt;&lt;/a&gt;. The retries were first added in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-32028&quot; title=&quot;Make reconfig() in rslib.js resilient to NodeNotFound error&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-32028&quot;&gt;&lt;del&gt;SERVER-32028&lt;/del&gt;&lt;/a&gt;, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40060&quot; title=&quot;Retry replSetInitiate in ReplSetTest fixture&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-40060&quot;&gt;&lt;del&gt;SERVER-40060&lt;/del&gt;&lt;/a&gt;, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-32638&quot; title=&quot;Permit dblock acquisition waiting to be interruptible by killOp&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-32638&quot;&gt;&lt;del&gt;SERVER-32638&lt;/del&gt;&lt;/a&gt;, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-31080&quot; title=&quot;replSetReconfig may fail with NewReplicaSetConfigurationIncompatible&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-31080&quot;&gt;&lt;del&gt;SERVER-31080&lt;/del&gt;&lt;/a&gt;, &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-27839&quot; title=&quot;Allow for step downs during reconfig in ReplSetTest initiate&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-27839&quot;&gt;&lt;del&gt;SERVER-27839&lt;/del&gt;&lt;/a&gt;, and &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-27551&quot; title=&quot;QuorumChecker should retry requests that fail&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-27551&quot;&gt;&lt;del&gt;SERVER-27551&lt;/del&gt;&lt;/a&gt;, but extended significantly in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-46541&quot; title=&quot;Turn Initial Sync Semantics Automatic Reconfigs on by default&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-46541&quot;&gt;&lt;del&gt;SERVER-46541&lt;/del&gt;&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;In general our retries are not consistent between &lt;a href=&quot;https://github.com/mongodb/mongo/blob/bca920ba961a95e58fa2f40d80844817ad1489d8/buildscripts/resmokelib/testing/fixtures/replicaset.py#L257&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;python fixture initiate&lt;/a&gt;, &lt;a href=&quot;https://github.com/mongodb/mongo/blob/bca920ba961a95e58fa2f40d80844817ad1489d8/buildscripts/resmokelib/testing/fixtures/replicaset.py#L241-L245&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;python fixture reconfig&lt;/a&gt;, &lt;a href=&quot;https://github.com/mongodb/mongo/blob/bca920ba961a95e58fa2f40d80844817ad1489d8/src/mongo/shell/replsettest.js#L1148-L1163&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;javascript fixtures&lt;/a&gt;, and &lt;a href=&quot;https://github.com/mongodb/mongo/blob/bca920ba961a95e58fa2f40d80844817ad1489d8/jstests/replsets/rslib.js#L201-L221&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;javascript helpers&lt;/a&gt;. It&apos;s not clear why these differences exist, or if it&apos;s just because of where we&apos;ve historically seen BFs.&lt;/p&gt;

&lt;p&gt;Following closing &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-48178&quot; title=&quot;Finding self in reconfig may be interrupted by closing connections due to rollback&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-48178&quot;&gt;&lt;del&gt;SERVER-48178&lt;/del&gt;&lt;/a&gt; we may be able to remove the &lt;tt&gt;NodeNotFound&lt;/tt&gt; retries (see &lt;a href=&quot;https://github.com/mongodb/mongo/blob/5fe923a0aa312044062df044eb4eaa47951f70ec/src/mongo/shell/replsettest.js#L1236-L1240&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this comment&lt;/a&gt; for details). &lt;/p&gt;

&lt;p&gt;We also can consider waiting for &apos;newlyAdded&apos; removals before issuing reconfigs in more places, rather than just retrying on failures. This might not be straightforward though, since waiting for &apos;newlyAdded&apos; removals may not always be possible in some testing configurations. This will allow us to not retry on &lt;tt&gt;ConfigurationInProgress&lt;/tt&gt;, &lt;tt&gt;ConfigurationNotCommittedYet&lt;/tt&gt;, and possibly &lt;tt&gt;NewReplicaSetConfigurationIncompatible&lt;/tt&gt; errors.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1400628">SERVER-49305</key>
            <summary>Remove reconfig retries in our tests</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="backlog-server-repl">Backlog - Replication Team</assignee>
                                    <reporter username="judah.schvimer@mongodb.com">Judah Schvimer</reporter>
                        <labels>
                    </labels>
                <created>Thu, 2 Jul 2020 21:40:04 +0000</created>
                <updated>Tue, 6 Dec 2022 02:19:34 +0000</updated>
                            <resolved>Tue, 7 Jul 2020 18:38:59 +0000</resolved>
                                                                    <component>Replication</component>
                    <component>Testing Infrastructure</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="3273490" author="judah.schvimer" created="Tue, 7 Jul 2020 21:47:16 +0000"  >&lt;blockquote&gt;
&lt;p&gt;waiting for &apos;newlyAdded&apos; removals may not always be possible in some testing configurations.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;To elaborate, if for example, a test adds a &apos;newlyAdded&apos; node and then manipulates the set to keep the &apos;newlyAdded&apos; field present, tests would not be able to wait for &apos;newlyAdded&apos; removals. A user reconfig would still be possible in this state, since the presence of a &apos;newlyAdded&apos; field does not preclude further reconfigs, it just means there&apos;s a chance of a concurrent reconfig causing the user reconfig to fail. We&apos;d have to special case this situation.&lt;/p&gt;

&lt;p&gt;I&apos;m also not sure if we could remove the &lt;tt&gt;InterruptedDueToReplStateChange&lt;/tt&gt; errors in all cases. It was added in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-32638&quot; title=&quot;Permit dblock acquisition waiting to be interruptible by killOp&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-32638&quot;&gt;&lt;del&gt;SERVER-32638&lt;/del&gt;&lt;/a&gt;, and I don&apos;t think we&apos;ve done anything to mitigate that. We&apos;d have to investigate why that was added though more deeply.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="349751">SERVER-27839</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="427165">SERVER-31080</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="460710">SERVER-32028</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1349308">SERVER-48178</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1212376">SERVER-46541</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="341770">SERVER-27551</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="481220">SERVER-32638</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="714417">SERVER-40060</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25128"><![CDATA[Replication]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 31 weeks, 1 day ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></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_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>alexander.golin@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            3 years, 31 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-repl</customfieldvalue>
            <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hxtc4f:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hxg893:</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_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hxsydr:</customfieldvalue>

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