<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:53:51 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-20315] Separate compile and unit test execution tasks in evergreen config</title>
                <link>https://jira.mongodb.org/browse/SERVER-20315</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Right now the more unit tests we add, the longer the compile phase runs, and thus the longer before other suites get started.  No reason we couldn&apos;t run the unit tests in parallel with the jstests and start getting feedback faster.&lt;/p&gt;</description>
                <environment></environment>
        <key id="228806">SERVER-20315</key>
            <summary>Separate compile and unit test execution tasks in evergreen config</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="9">Done</resolution>
                                        <assignee username="jonathan.reams@mongodb.com">Jonathan Reams</assignee>
                                    <reporter username="spencer@mongodb.com">Spencer Brody</reporter>
                        <labels>
                    </labels>
                <created>Tue, 8 Sep 2015 17:59:28 +0000</created>
                <updated>Fri, 5 Feb 2016 14:29:32 +0000</updated>
                            <resolved>Thu, 8 Oct 2015 14:27:31 +0000</resolved>
                                                    <fixVersion>3.1.9</fixVersion>
                                    <component>Build</component>
                                        <votes>0</votes>
                                    <watches>8</watches>
                                                                                                                <comments>
                            <comment id="1054144" author="acm" created="Wed, 7 Oct 2015 17:47:49 +0000"  >&lt;p&gt;Might as well go ahead and add the &apos;enterprise&apos; into the name here, as well.&lt;/p&gt;</comment>
                            <comment id="1054117" author="kamran.khan" created="Wed, 7 Oct 2015 17:27:12 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jonathan.reams&quot; class=&quot;user-hover&quot; rel=&quot;jonathan.reams&quot;&gt;jonathan.reams&lt;/a&gt;: Can you add the &apos;unittests&apos; task to the &quot;~ ASAN SSL Ubuntu 14.10&quot; variant before you close this ticket?  It wasn&apos;t added as part of the above commit.&lt;/p&gt;</comment>
                            <comment id="1053913" author="xgen-internal-githook" created="Wed, 7 Oct 2015 15:15:58 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;jbreams&apos;, u&apos;name&apos;: u&apos;Jonathan Reams&apos;, u&apos;email&apos;: u&apos;jbreams@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-20315&quot; title=&quot;Separate compile and unit test execution tasks in evergreen config&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-20315&quot;&gt;&lt;del&gt;SERVER-20315&lt;/del&gt;&lt;/a&gt; Run unit tests in separate MCI task&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/b536dc562f6bfadab75c8b9d2bc0693553350c1d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/b536dc562f6bfadab75c8b9d2bc0693553350c1d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1045376" author="spencer" created="Mon, 28 Sep 2015 20:25:17 +0000"  >&lt;p&gt;Conclusion of offline conversation is that we will strip the debug symbols and compress the unit tests, then add them to s3 to allow the unit test execution to run as a different task (potentially on a different machine) than the compile task.&lt;/p&gt;</comment>
                            <comment id="1045346" author="acm" created="Mon, 28 Sep 2015 19:52:46 +0000"  >&lt;p&gt;I&apos;m not thrilled about having the compile step not build the whole tree. I really want to know that &lt;b&gt;everything&lt;/b&gt; compiles before we do anything else.&lt;/p&gt;</comment>
                            <comment id="1045246" author="max.hirschhorn@10gen.com" created="Mon, 28 Sep 2015 18:44:03 +0000"  >&lt;p&gt;Per suggestion from &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=acm&quot; class=&quot;user-hover&quot; rel=&quot;acm&quot;&gt;acm&lt;/a&gt;, I ran &lt;a href=&quot;https://evergreen.mongodb.com/task/mongodb_mongo_master_linux_64_compile_6d88752fc7e1e1b1d8e9a232e14b0f4433d97fa6_15_09_28_18_21_59&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;a patch build&lt;/a&gt; that skips building the unit tests by removing it from the &lt;tt&gt;all&lt;/tt&gt; alias. It takes about 8 minutes to build the remaining targets.&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;[2015/09/28 14:23:15.411] scons: Building targets ...&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;   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;...&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;[2015/09/28 14:31:26.031] scons: done building targets.&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;For comparison, it took about 13 minutes on &lt;a href=&quot;https://evergreen.mongodb.com/task/mongodb_mongo_master_linux_64_compile_3f6f2bd0b7df6bee794e91c0a1a3ab7ab7e64bc2_15_09_28_17_24_16&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;a recent commit&lt;/a&gt;.&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;[2015/09/28 13:26:01.131] scons: Building targets ...&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;   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;...&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;[2015/09/28 13:39:00.381] scons: done building targets.&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</comment>
                            <comment id="1044978" author="spencer" created="Mon, 28 Sep 2015 15:49:33 +0000"  >&lt;p&gt;Agreed, I phrased the original description poorly.  I&apos;m most interested in making sure we get feedback from jstests as soon as possible, so unit tests taking long or more importantly failing shouldn&apos;t stop you from seeing if the jstests pass.&lt;/p&gt;</comment>
                            <comment id="1044038" author="max.hirschhorn@10gen.com" created="Fri, 25 Sep 2015 22:44:25 +0000"  >&lt;p&gt;I&apos;d be in favor of splitting out running the C++ unit tests from the compile task as long as we don&apos;t make the unit tests passing a prerequisite for running any of the other tests. The situation I&apos;ve seen a few times is a bit different from what Spencer described: someone commits code to master that breaks one of the unit tests and causes a bunch of commits that queue up after it to not run any additional tests.&lt;/p&gt;

&lt;p&gt;The unit tests take approximately 30 seconds to run with a sufficient &lt;tt&gt;&amp;#45;&amp;#45;jobs&lt;/tt&gt; argument to resmoke.py. From that perspective it wouldn&apos;t be worthwhile to split the unit tests out into their own task because scheduling a new task in Evergreen takes around that long. Additionally, we&apos;d need to store the unit test binaries in S3 so that another task could fetch them.&lt;/p&gt;

&lt;p&gt;My proposal is to make &lt;b&gt;compiling&lt;/b&gt; &lt;em&gt;and&lt;/em&gt; running the unit tests its own task. This has the additional benefit of decreasing the time for the compile task because it won&apos;t need to build the &lt;tt&gt;unittests&lt;/tt&gt; target anymore. If the code is so horribly broken, then running jsCore should catch it (~4 minutes on Linux 64-bit), and given the changes proposed in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-20581&quot; title=&quot;Add greater level of task dependencies to evergreen.yml&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-20581&quot;&gt;&lt;del&gt;SERVER-20581&lt;/del&gt;&lt;/a&gt;, we wouldn&apos;t run many further tests.&lt;/p&gt;</comment>
                            <comment id="1043959" author="spencer" created="Fri, 25 Sep 2015 21:12:05 +0000"  >&lt;p&gt;I personally don&apos;t think so.  9 times out of 10 unit tests failures are due to someone forgetting to update the unit tests along with their code change.  In that case, it&apos;d be nice to know that all the jstests passed and so when you fix the unit test you could just run the unit test suite before being able to push.&lt;/p&gt;</comment>
                            <comment id="1043934" author="ernie.hershey@10gen.com" created="Fri, 25 Sep 2015 20:53:23 +0000"  >&lt;p&gt;Is this in opposition to &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-20581&quot; title=&quot;Add greater level of task dependencies to evergreen.yml&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-20581&quot;&gt;&lt;del&gt;SERVER-20581&lt;/del&gt;&lt;/a&gt;? Should any jstests wait for unit tests to finish? &lt;/p&gt;

&lt;p&gt;I see the point about this making the cost of new unit tests higher than it should be - delaying jstest starts. &lt;/p&gt;</comment>
                            <comment id="1024353" author="mpobrien" created="Tue, 8 Sep 2015 18:01:58 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=spencer&quot; class=&quot;user-hover&quot; rel=&quot;spencer&quot;&gt;spencer&lt;/a&gt; moved this to SERVER, since this would require a change to the .evergreen.yml file and not a change in evergreen itself.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="90035">SERVER-18718</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="233569">SERVER-20826</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>11.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1.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>Tue, 8 Sep 2015 18:01:58 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        8 years, 19 weeks 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>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            8 years, 19 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>andrew.morrow@mongodb.com</customfieldvalue>
            <customfieldvalue>ernie.hershey@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>jonathan.reams@mongodb.com</customfieldvalue>
            <customfieldvalue>kamran.khan</customfieldvalue>
            <customfieldvalue>max.hirschhorn@mongodb.com</customfieldvalue>
            <customfieldvalue>mikeo@mongodb.com</customfieldvalue>
            <customfieldvalue>spencer@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hripqv:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hscywn:</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="693">Build A (10/09/15)</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|hrigxr:</customfieldvalue>

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