<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:37:41 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-78190] Evaluate feasibility of parallelizing the &quot;benchmarks&quot; task</title>
                <link>https://jira.mongodb.org/browse/SERVER-78190</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;In this &lt;a href=&quot;https://jira.mongodb.org/browse/BF-28985&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;BF&lt;/a&gt;, we identified a task that regularly takes too long to run (close to the 6H timeout). Although we are temporarily mitigating the timeout risk (by changing the timeout from 5H to 6H), a better long-term fix is to parallelize the subtasks within the problematic task, thereby reducing total wallclock execution time.&lt;/p&gt;

&lt;p&gt;The task in question is &quot;benchmarks&quot;, defined &lt;a href=&quot;https://github.com/10gen/mongo/blob/master/buildscripts/resmokeconfig/suites/benchmarks.yml&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;. More details available in &lt;a href=&quot;https://mongodb.slack.com/archives/GPZ8BPS3E/p1686924617652239&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this Slack thread&lt;/a&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2371006">SERVER-78190</key>
            <summary>Evaluate feasibility of parallelizing the &quot;benchmarks&quot; task</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="steve.gross@mongodb.com">Steve Gross</assignee>
                                    <reporter username="steve.gross@mongodb.com">Steve Gross</reporter>
                        <labels>
                    </labels>
                <created>Fri, 16 Jun 2023 20:28:49 +0000</created>
                <updated>Sun, 29 Oct 2023 21:19:53 +0000</updated>
                            <resolved>Tue, 8 Aug 2023 20:00:46 +0000</resolved>
                                                    <fixVersion>7.1.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="5621481" author="JIRAUSER1274045" created="Tue, 8 Aug 2023 20:00:30 +0000"  >&lt;p&gt;I checked the task execution history (&lt;a href=&quot;https://spruce.mongodb.com/task-history/mongodb-mongo-master/benchmarks_orphaned_first_half&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;first_half&lt;/a&gt;, &lt;a href=&quot;https://spruce.mongodb.com/task-history/mongodb-mongo-master/benchmarks_orphaned_second_half&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;second_half&lt;/a&gt;). For the most part, the tasks are succeeding. Spot checks of individual failures showed they are due to reasons OTHER than timeouts. Thus, I think we can safely conclude the refactor successfully addressed the timeout concern.&lt;/p&gt;</comment>
                            <comment id="5606596" author="xgen-internal-githook" created="Wed, 2 Aug 2023 04:14:35 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Steve Gross&apos;, &apos;email&apos;: &apos;steve.gross@mongodb.com&apos;, &apos;username&apos;: &apos;stevegrossmongodb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-78190&quot; title=&quot;Evaluate feasibility of parallelizing the &amp;quot;benchmarks&amp;quot; task&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-78190&quot;&gt;&lt;del&gt;SERVER-78190&lt;/del&gt;&lt;/a&gt; Split up benchmarks_orphaned into 2 better-balanced tasks&lt;br/&gt;
Branch: minh.luu-no_compile_sys-perf&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/0780f7a8783a1adf6fdb6731de01392c31d29596&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/0780f7a8783a1adf6fdb6731de01392c31d29596&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5606271" author="xgen-internal-githook" created="Tue, 1 Aug 2023 21:42:11 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Steve Gross&apos;, &apos;email&apos;: &apos;steve.gross@mongodb.com&apos;, &apos;username&apos;: &apos;stevegrossmongodb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-78190&quot; title=&quot;Evaluate feasibility of parallelizing the &amp;quot;benchmarks&amp;quot; task&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-78190&quot;&gt;&lt;del&gt;SERVER-78190&lt;/del&gt;&lt;/a&gt; Split up benchmarks_orphaned into 2 better-balanced tasks&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/0780f7a8783a1adf6fdb6731de01392c31d29596&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/0780f7a8783a1adf6fdb6731de01392c31d29596&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5590756" author="JIRAUSER1268551" created="Tue, 25 Jul 2023 18:38:23 +0000"  >&lt;p&gt;This solution will work well! A little gross to maintain but this should last another 5 years or so&lt;/p&gt;</comment>
                            <comment id="5580839" author="JIRAUSER1274045" created="Thu, 20 Jul 2023 17:53:48 +0000"  >&lt;p&gt;Note to self: &lt;a href=&quot;https://mongodb.slack.com/archives/C036F3YQ796/p1689875600190259?thread_ts=1689875360.956349&amp;amp;cid=C036F3YQ796&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Slack thread to discuss more&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5578409" author="JIRAUSER1258055" created="Wed, 19 Jul 2023 22:58:13 +0000"  >&lt;p&gt;One thing to add is that it looks like &lt;a href=&quot;https://github.com/10gen/mongo/blob/efcec7740a262c30b9305585c25394eda8f694c9/etc/evergreen_yml_components/definitions.yml#L3595&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;benchmarks_orphaned&lt;/a&gt; runs tests from the build/ directory which implies that it depends on compile. I see that the benchmarks_template &quot;depends on&quot; compile &lt;a href=&quot;https://github.com/10gen/mongo/blob/efcec7740a262c30b9305585c25394eda8f694c9/etc/evergreen_yml_components/definitions.yml#L128&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;This can cause issues because version_gen is currently the first task that runs and &quot;depends on&quot; no one. I don&apos;t think we want that to change. Alternatively, we can have a new `version_benchmark_gen` task which &quot;depends on&quot; compile &amp;amp; generates only benchmark tasks but some design would be needed.&lt;/p&gt;

&lt;p&gt;Also, currently the task generator will not add the &quot;do benchmark setup&quot; function to generated tasks, but this is a requirement for `benchmark*` tasks. We probably need the task generator to conditionally add the &quot;do benchmark setup&quot; function (&amp;amp; maybe others) when the task generator encounters a benchmark task that needs to be generated.&lt;/p&gt;</comment>
                            <comment id="5578103" author="JIRAUSER1274045" created="Wed, 19 Jul 2023 20:25:19 +0000"  >&lt;p&gt;Notes from chat w/ &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jeff.zambory%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;jeff.zambory@mongodb.com&quot;&gt;jeff.zambory@mongodb.com&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;To change a task configuration to use task-gen (and split_task) logic, rename the &quot;function&quot; to &quot;generate resmoke tasks&quot;&lt;/li&gt;
	&lt;li&gt;The task immediately in question is &lt;a href=&quot;https://github.com/10gen/mongo/blob/efcec7740a262c30b9305585c25394eda8f694c9/etc/evergreen_yml_components/definitions.yml#L3595&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;benchmarks_orphaned&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://spruce.mongodb.com/task/mongodb_mongo_v7.0_rhel80_debug_ubsan_benchmarks_orphaned_9d09104202bbfd83cf1b8a665964b02014bd11d0_23_06_21_23_14_20/tests?execution=0&amp;amp;sortBy=STATUS&amp;amp;sortDir=ASC&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;This PB&lt;/a&gt; shows that the benchmarks_orphaned task has 30+ tests in it&lt;/li&gt;
	&lt;li&gt;There are other &lt;a href=&quot;https://github.com/search?q=repo%3A10gen%2Fmongo%20%22name%3A%20benchmarks%22&amp;amp;type=code&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;benchmark_* tasks&lt;/a&gt;, but for now we&apos;ll focus on benchmarks_orphaned since that is the original motivating case for this work.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="5561517" author="JIRAUSER1274045" created="Wed, 12 Jul 2023 18:46:42 +0000"  >&lt;p&gt;I&apos;ve created &lt;a href=&quot;https://github.com/mongodb/mongo-task-generator/pull/67&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this draft PR&lt;/a&gt; as a POC to use the new max_duration field. Will discuss with various folks to see if it&apos;s the right way to move forward.&lt;/p&gt;</comment>
                            <comment id="5555011" author="JIRAUSER1274045" created="Mon, 10 Jul 2023 16:56:38 +0000"  >&lt;p&gt;Per &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jeff.zambory%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;jeff.zambory@mongodb.com&quot;&gt;jeff.zambory@mongodb.com&lt;/a&gt; &apos;s &lt;a href=&quot;https://jira.mongodb.org/browse/DAG-2711?focusedCommentId=5545248&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-5545248&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;note&lt;/a&gt;, I&apos;ll&#160;explore how to amend the task generator to leverage the new field.&lt;/p&gt;</comment>
                            <comment id="5518375" author="JIRAUSER1274045" created="Thu, 22 Jun 2023 14:29:08 +0000"  >&lt;p&gt;I spent some quality time w/ &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=mikhail.shchatko%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;mikhail.shchatko@mongodb.com&quot;&gt;mikhail.shchatko@mongodb.com&lt;/a&gt; reviewing the split_task() code. Now I need to play around with executing the unit test, and circle back w/ &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=daniel.moody%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;daniel.moody@mongodb.com&quot;&gt;daniel.moody@mongodb.com&lt;/a&gt; to think about what the amended logic should look like.&lt;/p&gt;</comment>
                            <comment id="5516059" author="JIRAUSER1274045" created="Wed, 21 Jun 2023 17:30:10 +0000"  >&lt;p&gt;Per Slack discussion: it looks like the best solution is to amend the task generator&apos;s &quot;bucketing&quot; logic (defined &lt;a href=&quot;https://github.com/mongodb/mongo-task-generator/blob/master/src/task_types/resmoke_tasks.rs#L603&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://github.com/mongodb/mongo-task-generator/blob/master/src/task_types/resmoke_tasks.rs#L502&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;). I&apos;ll propose some new logic and get consensus before trying to implement it.&lt;/p&gt;</comment>
                            <comment id="5515436" author="JIRAUSER1274045" created="Wed, 21 Jun 2023 14:58:59 +0000"  >&lt;p&gt;Soliciting design guidance on &lt;a href=&quot;https://mongodb.slack.com/archives/C036F3YQ796/p1687359451160159&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Slack&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                                        </outwardlinks>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>12.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>Fri, 16 Jun 2023 23:29:48 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        26 weeks, 1 day ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/DAG-2711'>DAG-2711</a></s>]]></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>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            26 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>149.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>alex.neben@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>steve.gross@mongodb.com</customfieldvalue>
            <customfieldvalue>tausif.rahman@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i2echj:</customfieldvalue>

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

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