<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:45:40 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-81164] Reduce execution slowness of the fcv_upgrade_downgrade passthrough suites</title>
                <link>https://jira.mongodb.org/browse/SERVER-81164</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;From a local PB, it seems the &lt;tt&gt;fcv_upgrade_downgrade...&lt;/tt&gt; passthrough suites are taking a significant amount of time to complete. Looking at the JS hook, it seems we may be &lt;a href=&quot;https://github.com/10gen/mongo/blob/97b87248d11cee4d48ba4865b782b94e65c58e85/jstests/hooks/run_fcv_upgrade_downgrade_background.js#L76-L95&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;sleeping the thread&lt;/a&gt; for long durations while running the test, which will cause slowness. This is also run per test, which means that tests that previously took &amp;lt;1s to complete might take upwards of 20+s now.&lt;/p&gt;

&lt;p&gt;We should reduce the amount of times we run setFCV and sleep per test, and we should also avoid running the hook on every test. In mongosync passthrough testing, we would execute the hook only once every &lt;tt&gt;n=15&lt;/tt&gt; or &lt;tt&gt;n=20&lt;/tt&gt; tests, which would lead to the same test coverage over time assuming randomness in test order.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2445410">SERVER-81164</key>
            <summary>Reduce execution slowness of the fcv_upgrade_downgrade passthrough suites</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="13201">Fixed</resolution>
                                        <assignee username="adi.zaimi@mongodb.com">Adi Zaimi</assignee>
                                    <reporter username="xuerui.fa@mongodb.com">Xuerui Fa</reporter>
                        <labels>
                            <label>sharding-nyc-subteam3</label>
                    </labels>
                <created>Mon, 18 Sep 2023 21:39:34 +0000</created>
                <updated>Thu, 18 Jan 2024 20:44:05 +0000</updated>
                            <resolved>Thu, 18 Jan 2024 20:42:46 +0000</resolved>
                                                    <fixVersion>7.3.0-rc0</fixVersion>
                    <fixVersion>7.2.0-rc2</fixVersion>
                                                        <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="6023855" author="JIRAUSER1261874" created="Thu, 18 Jan 2024 20:42:46 +0000"  >&lt;p&gt;Hook running in background was corrected to not sleep for extensive interval.&lt;/p&gt;</comment>
                            <comment id="5895584" author="JIRAUSER1261874" created="Tue, 21 Nov 2023 15:21:05 +0000"  >&lt;p&gt;Yes I agree with &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=judah.schvimer%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;judah.schvimer@mongodb.com&quot;&gt;judah.schvimer@mongodb.com&lt;/a&gt; that this is a test only and should not block 7.2, however  I already merged the fix for this to 7.2 branch so either way we should be good.&lt;/p&gt;</comment>
                            <comment id="5893596" author="xgen-internal-githook" created="Mon, 20 Nov 2023 20:59:40 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Adi Zaimi&apos;, &apos;email&apos;: &apos;adizaimi@yahoo.com&apos;, &apos;username&apos;: &apos;adizaimi&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-81164&quot; title=&quot;Reduce execution slowness of the fcv_upgrade_downgrade passthrough suites&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-81164&quot;&gt;&lt;del&gt;SERVER-81164&lt;/del&gt;&lt;/a&gt; Reduce test duration by sleeping less in the bg js hook&lt;/p&gt;

&lt;p&gt;Reduce the duration of sleep() in the run_fcv_upgrade_downgrade_background.js background hook,&lt;br/&gt;
which is used in the fcf_upgrade_downgrade suites, which will result in tests and consequently the suite&lt;br/&gt;
to take an acceptable time to complete (similar to other test suites).&lt;br/&gt;
Branch: v7.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/ebe878ab31471507b7a74b51c322c0b2cd333488&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/ebe878ab31471507b7a74b51c322c0b2cd333488&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5875520" author="JIRAUSER1261874" created="Mon, 13 Nov 2023 14:59:56 +0000"  >&lt;p&gt;FTR, I did look at ways of having the python script better control the js hook:&lt;br/&gt;
1. Doing sleeps of 1 sec inside a for loop up to the required duration does not cause the js script to exit early (when the foreground test is done) because the script is not seem to receive any external signals from the python fixture.&lt;br/&gt;
2. Using TestData in the JS hook is possible but modifying that state is futile because changes dont persist (in order to modify the script to only do one fcv operation but it needs to remember what operation it ran last)&lt;br/&gt;
3. Sending in environmental variables may be tricky/useless because the part of the fixture that calls the js script in a loop is not exposed to be modified by fcv_upgrade_downgrade.py so we can send the next operation to run into the js.&lt;br/&gt;
4. Possibly we can rework fcv_upgrade_downgrade.py to send the fcv command itself instead of relying on the js script and that might be the most likely one to have success without modifying the fixture itself, however I wonder if it is worth pursuing at this point (since sleeping for 1s seems to contain the test to within a reasonable time).&lt;/p&gt;</comment>
                            <comment id="5875485" author="JIRAUSER1261874" created="Mon, 13 Nov 2023 14:51:24 +0000"  >&lt;p&gt;I changed the sleep duration to be 1s (instead of 5s) so each test will now take a lot less time than before, and cumulative time is roughly similar to the duration of similar suites without the fcv upgrade downgrade hook:&lt;br/&gt;
ex: 	&lt;a href=&quot;https://evergreen.mongodb.com/task/mongodb_mongo_master_enterprise_rhel_80_64_bit_dynamic_display_fcv_upgrade_downgrade_sharded_collections_jscore_passthrough_56d5b028429d0f812397f132113ed32f569cace8_23_11_11_03_11_59&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://evergreen.mongodb.com/task/mongodb_mongo_master_enterprise_rhel_80_64_bit_dynamic_display_fcv_upgrade_downgrade_sharded_collections_jscore_passthrough_56d5b028429d0f812397f132113ed32f569cace8_23_11_11_03_11_59&lt;/a&gt; &lt;br/&gt;
it now takes 2h 34m 10s (cumulative), and 36m 48s (wall clock).&lt;/p&gt;</comment>
                            <comment id="5872545" author="xgen-internal-githook" created="Fri, 10 Nov 2023 22:21:43 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Adi Zaimi&apos;, &apos;email&apos;: &apos;adizaimi@yahoo.com&apos;, &apos;username&apos;: &apos;adizaimi&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-81164&quot; title=&quot;Reduce execution slowness of the fcv_upgrade_downgrade passthrough suites&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-81164&quot;&gt;&lt;del&gt;SERVER-81164&lt;/del&gt;&lt;/a&gt; Reduce test duration by sleeping less in the bg js hook&lt;/p&gt;

&lt;p&gt;Reduce the duration of sleep() in the run_fcv_upgrade_downgrade_background.js background hook,&lt;br/&gt;
which is used in the fcf_upgrade_downgrade suites, which will result in tests and consequently the suite&lt;br/&gt;
to take an acceptable time to complete (similar to other test suites).&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/78f7981be1d7de23fea577cc8141dba62b59dbd5&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/78f7981be1d7de23fea577cc8141dba62b59dbd5&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25134"><![CDATA[Sharding NYC]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="26553"><![CDATA[v7.2]]></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>Tue, 7 Nov 2023 22:02:19 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 weeks, 6 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_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>britt.snyman@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            2 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>adi.zaimi@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</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|i2r3b3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i291pk:</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_22250" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Special Downgrade Instructions Required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="23343"><![CDATA[Not Needed]]></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|i2qpgf:</customfieldvalue>

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