<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:04:04 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-43772] Start up mongod replica set nodes in ReplSetTest.startSet in parallel</title>
                <link>https://jira.mongodb.org/browse/SERVER-43772</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Currently, ReplSetTest.startSet &lt;a href=&quot;https://github.com/mongodb/mongo/blob/3a23860614f2d4b69381a561f5c39ec797920a58/src/mongo/shell/replsettest.js#L587-L589&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;starts up&lt;/a&gt; the mongod process for each replica set node serially, one after the other. This process is slow primarily due to the fact that we &lt;a href=&quot;https://github.com/mongodb/mongo/blob/e7cc9e482621415c4c5361a98edb469a2024dcb7/src/mongo/shell/servers.js#L1254-L1270&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;wait until we can connect&lt;/a&gt; to a mongod node before starting up the next one. Instead of waiting until a connection is made to a node before moving on, we can start up all processes in parallel and then wait until connections can be made to each one.&lt;/p&gt;</description>
                <environment></environment>
        <key id="956907">SERVER-43772</key>
            <summary>Start up mongod replica set nodes in ReplSetTest.startSet in parallel</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="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="13201">Fixed</resolution>
                                        <assignee username="william.schultz@mongodb.com">William Schultz</assignee>
                                    <reporter username="william.schultz@mongodb.com">William Schultz</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Oct 2019 21:55:27 +0000</created>
                <updated>Sun, 29 Oct 2023 22:16:33 +0000</updated>
                            <resolved>Mon, 28 Oct 2019 21:08:33 +0000</resolved>
                                                    <fixVersion>4.3.1</fixVersion>
                                    <component>Replication</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="2505620" author="xgen-internal-githook" created="Mon, 28 Oct 2019 20:48:49 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;William Schultz&apos;, &apos;username&apos;: &apos;will62794&apos;, &apos;email&apos;: &apos;william.schultz@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-43772&quot; title=&quot;Start up mongod replica set nodes in ReplSetTest.startSet in parallel&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-43772&quot;&gt;&lt;del&gt;SERVER-43772&lt;/del&gt;&lt;/a&gt; Start up nodes in ReplSetTest.startSet in parallel&lt;/p&gt;

&lt;p&gt;This patch allows the startup procedure of replica set nodes in ReplSetTest to proceed in parallel, by starting up the processes of all mongod nodes first before waiting to connect to each. This parallel startup behavior is now the default in ReplSetTest.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/d1b2abee0e6da744d38d46392df05bdae0091f11&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/d1b2abee0e6da744d38d46392df05bdae0091f11&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2498144" author="william.schultz" created="Wed, 23 Oct 2019 19:53:23 +0000"  >&lt;p&gt;The results of the control tests on my local workstation (when running with ramdisk) are a bit worse:&lt;/p&gt;

&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[js_test:replsettest_control_1_node] 2019-10-23T15:48:56.419-0400 ReplSetTest startSet took 1065ms for 1 nodes.&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;[js_test:replsettest_control_12_nodes] 2019-10-23T15:48:12.452-0400 ReplSetTest startSet took 3222ms for 12 nodes.&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;This is a scale factor of (3222/1065)=3.02, which is outside the 1.5x boundary. I am not exactly sure why there is such a discrepancy between the Evergreen machines and my local machine, but I will investigate this more as a part of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-44066&quot; title=&quot;Investigate and optimize the slowest portions of ReplSetTest.start when not waiting for a connection&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-44066&quot;&gt;&lt;del&gt;SERVER-44066&lt;/del&gt;&lt;/a&gt;. The Evergreen results demonstrate that the performance goal is achievable. There may be other, environmental reasons that explain the apparent slowness of my local workstation in comparison to Evergreen AWS machines.&lt;/p&gt;</comment>
                            <comment id="2498115" author="william.schultz" created="Wed, 23 Oct 2019 19:36:52 +0000"  >&lt;p&gt;After the initial changes from this ticket, we can see the performance improvements for ReplSetTest.startSet. The results from &lt;a href=&quot;https://evergreen.mongodb.com/task/mongodb_mongo_master_enterprise_rhel_62_64_bit_replica_sets_patch_563dc7451690efa475db5feda913098e777471da_5db08392e3c331774a397b0d_19_10_23_16_45_07##%257B%2522compare%2522%253A%255B%257B%2522hash%2522%253A%2522563dc7451690efa475db5feda913098e777471da%2522%257D%255D%257D&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this patch build task&lt;/a&gt; show that the startSet histogram profile is now tightly grouped around a single duration, regardless of replica set size:&lt;br/&gt;
 &lt;span class=&quot;image-wrap&quot; style=&quot;&quot;&gt;&lt;a id=&quot;235127_thumb&quot; href=&quot;https://jira.mongodb.org/secure/attachment/235127/235127_5db08392e3c331774a397b0d%2Centerprise-rhel-62-64-bit%2C563dc7451690efa475db5feda913098e777471da.png&quot; title=&quot;5db08392e3c331774a397b0d,enterprise-rhel-62-64-bit,563dc7451690efa475db5feda913098e777471da.png&quot; file-preview-type=&quot;image&quot; file-preview-id=&quot;235127&quot; file-preview-title=&quot;5db08392e3c331774a397b0d,enterprise-rhel-62-64-bit,563dc7451690efa475db5feda913098e777471da.png&quot;&gt;&lt;img src=&quot;https://jira.mongodb.org/secure/thumbnail/235127/_thumb_235127.png&quot; style=&quot;border: 0px solid black&quot; role=&quot;presentation&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;We can also observe the startSet durations in the ReplSetTest control tests. Prior to these changes, we can look at runs of the control tests from &lt;a href=&quot;https://evergreen.mongodb.com/task/mongodb_mongo_master_enterprise_rhel_62_64_bit_replica_sets_7e7a45333cbab5ded49543ee2b09611f77792a51_19_10_23_16_52_44&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this task&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://logkeeper.mongodb.org/lobster/build/5558ea09066f39b5cf3e4f788e47894a/test/5db099b1c2ab685cb5c20bae#bookmarks=0%2C290&amp;amp;l=1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;replsettest_control_1_node.js&lt;/a&gt;: 808ms&lt;br/&gt;
 &lt;a href=&quot;https://logkeeper.mongodb.org/lobster/build/84d212782fb5385c6b0e8327cd818b6c/test/5db09a8854f2482ce5bd44a7#bookmarks=0%2C23104&amp;amp;l=1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;replsettest_control_12_nodes.js&lt;/a&gt;: 9893ms&lt;/p&gt;

&lt;p&gt;This is a scale factor of (9893/808)=12.24, which is to be expected with no parallelization. After the changes, we observe the following control test durations from this &lt;a href=&quot;https://evergreen.mongodb.com/task/mongodb_mongo_master_enterprise_rhel_62_64_bit_replica_sets_patch_563dc7451690efa475db5feda913098e777471da_5db08392e3c331774a397b0d_19_10_23_16_45_07##%257B%2522compare%2522%253A%255B%257B%2522hash%2522%253A%2522563dc7451690efa475db5feda913098e777471da%2522%257D%255D%257D&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;task&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://logkeeper.mongodb.org/lobster/build/fd4388f419dd10c20c47184ef589915b/test/5db08e9ec2ab685cb5be3421#bookmarks=0%2C84%2C291&amp;amp;l=1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;replsettest_control_1_node.js&lt;/a&gt;: 809ms&lt;br/&gt;
 &lt;a href=&quot;https://logkeeper.mongodb.org/lobster/build/fd4388f419dd10c20c47184ef589915b/test/5db08ec8be07c41c8b5849d0#bookmarks=0%2C23174&amp;amp;l=1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;replsettest_control_12_nodes.js&lt;/a&gt;: 1069ms&lt;/p&gt;

&lt;p&gt;This is a scale factor of (1069/809) = 1.32x which is well within the project goal of &amp;lt;= 1.5x. &lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10020">
                    <name>Gantt Dependency</name>
                                            <outwardlinks description="has to be done before">
                                        <issuelink>
            <issuekey id="972154">SERVER-44066</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="337357">SERVER-27342</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="235127" name="5db08392e3c331774a397b0d,enterprise-rhel-62-64-bit,563dc7451690efa475db5feda913098e777471da.png" size="149433" author="william.schultz@mongodb.com" created="Wed, 23 Oct 2019 19:27:49 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 28 Oct 2019 20:48:49 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 15 weeks, 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_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-1360</customfieldvalue>
                        </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>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            4 years, 15 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>william.schultz@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hvvc3r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hvjvmn:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="3261">Repl 2019-10-21</customfieldvalue>
    <customfieldvalue id="3303">Repl 2019-11-04</customfieldvalue>

                        </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|hvuyd3:</customfieldvalue>

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