<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06: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>[SERVER-72980] Configurable replSetReconfig isSelf socket timeouts</title>
                <link>https://jira.mongodb.org/browse/SERVER-72980</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;During testing we learned that a force replica set reconfig when nodes are down will take a substantially longer time to complete than first anticipated.&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;the replSetReconfig command connects to every node in series (described in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-16824&quot; title=&quot;Run isSelf concurrently for all members&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-16824&quot;&gt;SERVER-16824&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;as a result of the timeout added in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-16818&quot; title=&quot;Add socket timeout to isSelf replication check&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-16818&quot;&gt;&lt;del&gt;SERVER-16818&lt;/del&gt;&lt;/a&gt;, isSelf can take up to 30 seconds to give up connecting to a node that is unreachable (&lt;a href=&quot;https://github.com/mongodb/mongo/blob/1b3b0073a0b436a8a502b612f24fb2bd572772e5/src/mongo/db/repl/isself.cpp#L230&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/1b3b0073a0b436a8a502b612f24fb2bd572772e5/src/mongo/db/repl/isself.cpp#L230&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;We&apos;d like to tune that 30 second value by making it configurable through the replSetReconfig command. &lt;/p&gt;

&lt;p&gt;In our uses, this command is run when we are certain the affected nodes are in a network partition, and timing out closer to 2-5 seconds is more reasonable. In large clusters, the 30second timeout could extend into several minutes (perhaps several tens of minutes in the case of clusters with lots of non-voting secondaries)&lt;/p&gt;

&lt;p&gt;Perhaps along side the maxTimeMs parameter, there could be a connectTimeoutMs parameter?&lt;/p&gt;</description>
                <environment></environment>
        <key id="2235897">SERVER-72980</key>
            <summary>Configurable replSetReconfig isSelf socket timeouts</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="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="backlog-server-repl">Backlog - Replication Team</assignee>
                                    <reporter username="jack.wearden@mongodb.com">Jack Wearden</reporter>
                        <labels>
                    </labels>
                <created>Wed, 18 Jan 2023 10:58:44 +0000</created>
                <updated>Mon, 30 Jan 2023 19:12:34 +0000</updated>
                                                                                                <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="5152213" author="JIRAUSER1269311" created="Mon, 30 Jan 2023 19:12:34 +0000"  >&lt;p&gt;Backlogging this in favor of BACKPORT-14562&lt;/p&gt;</comment>
                            <comment id="5142660" author="xuerui.fa" created="Thu, 26 Jan 2023 14:29:30 +0000"  >&lt;p&gt;Sounds good, we originally did not want to do those backports since EOL was coming soon, but I&apos;ve requested them so that we can discuss more&lt;/p&gt;</comment>
                            <comment id="5142347" author="jack.wearden" created="Thu, 26 Jan 2023 12:25:35 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=xuerui.fa%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;xuerui.fa@mongodb.com&quot;&gt;xuerui.fa@mongodb.com&lt;/a&gt; could we also request backport for  &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-66050&quot; title=&quot;findSelfInConfig should attempt fast path for every HostAndPort before trying slow path&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-66050&quot;&gt;&lt;del&gt;SERVER-66050&lt;/del&gt;&lt;/a&gt; to 4.4? (And possibly 4.2 considering there will be customers using that for a short while on atlas past EOL?)&lt;/p&gt;</comment>
                            <comment id="5134653" author="xuerui.fa" created="Mon, 23 Jan 2023 21:56:22 +0000"  >&lt;p&gt;Also requesting backports for &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-66050&quot; title=&quot;findSelfInConfig should attempt fast path for every HostAndPort before trying slow path&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-66050&quot;&gt;&lt;del&gt;SERVER-66050&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5134652" author="xuerui.fa" created="Mon, 23 Jan 2023 21:56:03 +0000"  >&lt;p&gt;We recently completed &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-66050&quot; title=&quot;findSelfInConfig should attempt fast path for every HostAndPort before trying slow path&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-66050&quot;&gt;&lt;del&gt;SERVER-66050&lt;/del&gt;&lt;/a&gt;, which allows the node to try the fast path for every member in the replica set before attempting the slow path (which is the path that can take 30 seconds and result in socket timeout). We hope that &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-66050&quot; title=&quot;findSelfInConfig should attempt fast path for every HostAndPort before trying slow path&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-66050&quot;&gt;&lt;del&gt;SERVER-66050&lt;/del&gt;&lt;/a&gt; largely addresses instances of slow isSelf commands and improves the overall speed.&lt;/p&gt;

&lt;p&gt;Making the parameter tunable is an interesting idea, we could consider doing this, but if the isSelf command has significantly improved after &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-66050&quot; title=&quot;findSelfInConfig should attempt fast path for every HostAndPort before trying slow path&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-66050&quot;&gt;&lt;del&gt;SERVER-66050&lt;/del&gt;&lt;/a&gt;, it may not be necessary&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2035640">SERVER-66050</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="178490">SERVER-16824</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.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_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 23 Jan 2023 21:56:03 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 1 week, 2 days 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>opal.hoyt@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            1 year, 1 week, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>backlog-server-repl</customfieldvalue>
            <customfieldvalue>jack.wearden@mongodb.com</customfieldvalue>
            <customfieldvalue>opal.hoyt@mongodb.com</customfieldvalue>
            <customfieldvalue>xuerui.fa@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i1r30n:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i19log:</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_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|i1qp5z:</customfieldvalue>

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