<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:14:23 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-47509] resmoke accepts multiple &quot;mongodSetParameters&quot; options but only uses the last one</title>
                <link>https://jira.mongodb.org/browse/SERVER-47509</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;For example:&#160;&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;resmoke --suite=core --mongodSetParameters=&apos;{enableIndexBuildCommitQuorum: false}&apos; --mongodSetParameters=&apos;{logComponentVerbosity: {command: 2&lt;/tt&gt;&apos;}}&lt;/p&gt;

&lt;p&gt;Will override the first argument and only apply the second:&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;// resmoke.py&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;[MongoDFixture:job0] {&quot;t&quot;:{&quot;$date&quot;:&quot;2020-04-13T14:13:05.638-04:00&quot;},&quot;s&quot;:&quot;I&quot;, &quot;c&quot;:&quot;CONTROL&quot;, &quot;id&quot;:21951,  &quot;ctx&quot;:&quot;initandlisten&quot;,&quot;msg&quot;:&quot;Options set by command line&quot;,&quot;attr&quot;:{&quot;options&quot;:{&quot;net&quot;:{&quot;port&quot;:20000},&quot;replication&quot;:{&quot;enableMajorityReadConcern&quot;:true},&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;&quot;setParameter&quot;:... &quot;logComponentVerbosity&quot;:&quot;{&apos;command&apos;: 2}&quot;, ...,&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;&quot;storage&quot;:{&quot;dbPath&quot;:&quot;/data/db/job0/resmoke&quot;}}}} &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 causes problems in testing because the &quot;majority read concern off&quot; suite&#160;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/79809da04aa7d49a6a276cb5ebfd191a6f664942/etc/evergreen.yml#L10186&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;enables custom setParameters&lt;/a&gt; but runs suites like the rollback_fuzzer that enables&#160;&lt;a href=&quot;https://github.com/mongodb/mongo/blob/79809da04aa7d49a6a276cb5ebfd191a6f664942/etc/evergreen.yml#L4927&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;its own setParameters&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The effect is that the builder&apos;s &quot;mongodSetParameters&quot; overrides those of the test suite.&lt;/p&gt;

&lt;p&gt;Also revert the changes in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47510&quot; title=&quot;Disable index build commitQuorum on builders that override mongodSetParameters&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47510&quot;&gt;&lt;del&gt;SERVER-47510&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="1313399">SERVER-47509</key>
            <summary>resmoke accepts multiple &quot;mongodSetParameters&quot; options but only uses the last one</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="daniel.gottlieb@mongodb.com">Daniel Gottlieb</assignee>
                                    <reporter username="louis.williams@mongodb.com">Louis Williams</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Apr 2020 18:20:41 +0000</created>
                <updated>Sun, 29 Oct 2023 22:09:35 +0000</updated>
                            <resolved>Wed, 5 Aug 2020 20:17:57 +0000</resolved>
                                                    <fixVersion>4.7.0</fixVersion>
                    <fixVersion>4.4.5</fixVersion>
                    <fixVersion>4.0.25</fixVersion>
                    <fixVersion>4.2.15</fixVersion>
                                                        <votes>3</votes>
                                    <watches>11</watches>
                                                                                                                <comments>
                            <comment id="3852160" author="xgen-internal-githook" created="Tue, 1 Jun 2021 19:15:08 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Carl Raiden Worley&apos;, &apos;email&apos;: &apos;carl.worley@10gen.com&apos;, &apos;username&apos;: &apos;aggrand&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47509&quot; title=&quot;resmoke accepts multiple &amp;quot;mongodSetParameters&amp;quot; options but only uses the last one&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47509&quot;&gt;&lt;del&gt;SERVER-47509&lt;/del&gt;&lt;/a&gt; resmoke accepts multiple mongodSetParameters options but only uses the last one&lt;/p&gt;

&lt;p&gt;(cherry picked from commit a224fd19449424a84c269c7eec798c05b6ea4474)&lt;br/&gt;
Branch: v4.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/17506820c39a3c4312fe727ffe984894f1133941&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/17506820c39a3c4312fe727ffe984894f1133941&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3792792" author="xgen-internal-githook" created="Wed, 19 May 2021 18:21:15 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jason Chan&apos;, &apos;email&apos;: &apos;jason.chan@10gen.com&apos;, &apos;username&apos;: &apos;jasonjhchan&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47509&quot; title=&quot;resmoke accepts multiple &amp;quot;mongodSetParameters&amp;quot; options but only uses the last one&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47509&quot;&gt;&lt;del&gt;SERVER-47509&lt;/del&gt;&lt;/a&gt; resmoke accepts multiple &quot;mongodSetParameters&quot; options but only uses the last one.&lt;br/&gt;
This commit also cherry-picks the following.&lt;br/&gt;
&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-39448&quot; title=&quot;Make resmoke pass TestData.setParametersMongos to mongo shell as a JavaScript object&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-39448&quot;&gt;&lt;del&gt;SERVER-39448&lt;/del&gt;&lt;/a&gt; Make resmoke pass TestData.setParametersMongos to mongo shell as a JavaScript object&lt;br/&gt;
(cherry picked from commit f998d1f6bd1d74a815e1bbe6e984c8e73da8398d)&lt;br/&gt;
Branch: v4.0&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/27b2ba46fe86aff0cf8170f35301bf43bda99204&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/27b2ba46fe86aff0cf8170f35301bf43bda99204&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3774358" author="jason.chan" created="Fri, 14 May 2021 17:56:46 +0000"  >&lt;p&gt;Requesting backport of this to v4.2 and v4.0 so we can do&#160;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-56952&quot; title=&quot;[4.4] Add new build variant with storeFindAndModifyImagesInSideCollection=true&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-56952&quot;&gt;&lt;del&gt;SERVER-56952&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;EDIT: v4.0 might be a stretch since it looks like these changes went in after STM did a rewrite of the argparse (&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-46769&quot; title=&quot;Migrate from optparse to argparse&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-46769&quot;&gt;&lt;del&gt;SERVER-46769&lt;/del&gt;&lt;/a&gt;) which was only backported to v4.2.&lt;/p&gt;</comment>
                            <comment id="3620733" author="xgen-internal-githook" created="Thu, 18 Feb 2021 01:41:03 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Carl Raiden Worley&apos;, &apos;email&apos;: &apos;carl.worley@10gen.com&apos;, &apos;username&apos;: &apos;aggrand&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47509&quot; title=&quot;resmoke accepts multiple &amp;quot;mongodSetParameters&amp;quot; options but only uses the last one&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47509&quot;&gt;&lt;del&gt;SERVER-47509&lt;/del&gt;&lt;/a&gt; resmoke accepts multiple mongodSetParameters options but only uses the last one&lt;br/&gt;
Branch: v4.4&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/a224fd19449424a84c269c7eec798c05b6ea4474&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a224fd19449424a84c269c7eec798c05b6ea4474&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3323576" author="xgen-internal-githook" created="Wed, 5 Aug 2020 20:46:03 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Daniel Gottlieb&apos;, &apos;email&apos;: &apos;daniel.gottlieb@mongodb.com&apos;, &apos;username&apos;: &apos;dgottlieb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47509&quot; title=&quot;resmoke accepts multiple &amp;quot;mongodSetParameters&amp;quot; options but only uses the last one&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47509&quot;&gt;&lt;del&gt;SERVER-47509&lt;/del&gt;&lt;/a&gt;: Correct merge conflict resoluation&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/6da20f433cc8a6ae47664f89085ee8873817d651&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/6da20f433cc8a6ae47664f89085ee8873817d651&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3323508" author="daniel.gottlieb@10gen.com" created="Wed, 5 Aug 2020 20:17:57 +0000"  >&lt;p&gt;Specifying multiple `&lt;tt&gt;&amp;#45;&amp;#45;mongodSetParameters&lt;/tt&gt;` or `&lt;tt&gt;&amp;#45;&amp;#45;mongosSetParameters&lt;/tt&gt;` in resmoke no longer silently throws away some of the inputs. Resmoke will parse the value (a yaml string) into a map/dictionary and merge the two maps together.&lt;/p&gt;

&lt;p&gt;If the maps overlap on any top-level keys, resmoke will error out, even if the values are the same. There were no cases of duplicated set parameter keys in our evergreen configuration, so it seemed best to not add code to accept a case that didn&apos;t exist.&lt;/p&gt;</comment>
                            <comment id="3323495" author="xgen-internal-githook" created="Wed, 5 Aug 2020 20:11:21 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Daniel Gottlieb&apos;, &apos;email&apos;: &apos;daniel.gottlieb@mongodb.com&apos;, &apos;username&apos;: &apos;dgottlieb&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-47509&quot; title=&quot;resmoke accepts multiple &amp;quot;mongodSetParameters&amp;quot; options but only uses the last one&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-47509&quot;&gt;&lt;del&gt;SERVER-47509&lt;/del&gt;&lt;/a&gt;: Have resmoke better cope with multiple set parameters.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/52f4d4d869dca67d7ed22e8956d9fb56a8a79944&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/52f4d4d869dca67d7ed22e8956d9fb56a8a79944&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="3302651" author="daniel.gottlieb@10gen.com" created="Fri, 24 Jul 2020 21:10:43 +0000"  >&lt;p&gt;I&apos;ve put up a CR that I&apos;m confident will make this a problem of the past. That said, there were some differing opinions on what the correct behavior is; particularly when the same top-level `mongo{d,s}SetParameter` key is defined twice. &lt;/p&gt;

&lt;p&gt;This ticket is simple enough (regardless of which decision is made) that I didn&apos;t want to complicate/draw out the time to close this ticket out by inviting stakeholders to some sort of roundtable to discuss. However, I did consider both cases and used the resmoke code to help tease out some nuances/cases that I wasn&apos;t really aware about prior to taking on the ticket (discussed below). I additionally &lt;a href=&quot;https://spruce.mongodb.com/version/5f1b2d3ce3c33156dbb7bbf9/tasks&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;did some (not completely exhaustive) research&lt;/a&gt; to see if there even were conflicts today.&lt;/p&gt;

&lt;p&gt;The only conflicts were intentional duplications of disabling the index build commit quorum (the problem that spawned this ticket). Given there will no longer be any conflicts as part of this ticket, the decision about the right behavior is much more hypothetical.&lt;/p&gt;

&lt;p&gt;TL;DR: The current patch dictates multiple setParameters on the command line will merge &#8211; duplicated keys (on different setParameters, not within the same one) will error. A suite&apos;s setParameters will be overridden by a resmoke CLI &lt;tt&gt;mongo&lt;span class=&quot;error&quot;&gt;&amp;#91;ds&amp;#93;&lt;/span&gt;SetParameters&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Observations/Conclusions/Justifications:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;I don&apos;t think having later &lt;tt&gt;mongodSetParameters&lt;/tt&gt; override earlier ones is appropriate. The idea is sound, but in practice our current evergreen setup does not emit mongodSetParameters in the order that I would declare safe. In the BF &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=louis.williams&quot; class=&quot;user-hover&quot; rel=&quot;louis.williams&quot;&gt;louis.williams&lt;/a&gt; had, the rollback fuzzer task wants to run with the commit quorum turned off. The test will otherwise fail if it&apos;s on. The competing set parameter was the eMRC=off variant* setting an unrelated setParameter (oplog application enforces steady state constraints):&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;   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; [2020/04/07 06:30:02.794] echo &quot;--suites=rollback_fuzzer --mongodSetParameters=&apos;{logComponentVerbosity: {command: 2}, enableIndexBuildCommitQuorum: false}&apos; --majorityReadConcern=off --excludeWithAnyTags=requires_majority_read_concern,uses_prepare_transaction,uses_multi_shard_transaction,uses_atclustertime --mongodSetParameters=&quot;{oplogApplicationEnforcesSteadyStateConstraints: false}&quot;&quot; | grep -q storageEngineCacheSizeGB&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;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Note that the variant&apos;s set parameter comes after the task&apos;s setParameter &#8211; &lt;b&gt;declaring that the latest setParameter wins would be saying that variant setParameters should override individual task setParameters&lt;/b&gt;. Overriding, IMO only makes sense if the &quot;lowest level&quot; structure wins (patch run -&amp;gt; variant -&amp;gt; task). If resmoke were to make an assumption on ordering of &lt;tt&gt;setParameters&lt;/tt&gt;, it should be the last one wins, not doing so seems unacceptably fragile.&lt;/p&gt;

&lt;p&gt;But to repeat, there are no current cases (of the variants I turned on in the patch build) where multiple setParameters conflict.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Not all setParameters are equal (e.g: logComponentVerbosity), and some are more equal than at first glance. When resmoke passes &lt;tt&gt;setParameters&lt;/tt&gt; on the command line to the &lt;tt&gt;mongo&lt;span class=&quot;error&quot;&gt;&amp;#91;ds&amp;#93;&lt;/span&gt;&lt;/tt&gt; instance, the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/b9515a079627f792c910c8ed2bb683cc9b071ebd/buildscripts/resmokelib/core/programs.py#L124-L127&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;resmoke inputs get merged with the &lt;tt&gt;--suite&lt;/tt&gt; inputs&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Consider the case of the &lt;a href=&quot;https://github.com/mongodb/mongo/blob/b9515a079627f792c910c8ed2bb683cc9b071ebd/buildscripts/resmokeconfig/suites/sharding_rs_matching_match_busiest_node.yml#L17&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&quot;sharding_rs_matching_match_busiest_node&quot; suite&lt;/a&gt;. Presumably that suite could be expressed as a single evergreen task of &lt;tt&gt;resmoke run --mongodSetParameters=&apos;{&quot;ShardingTaskExecutorPoolReplicaSetMatching&quot;: &quot;matchBusiest&quot;}&apos; jstests/sharding/{&lt;b&gt;,change_streams/&lt;/b&gt;,query/*}.js&lt;/tt&gt;. We can arguably declare some equivalence between a suite&apos;s setParameters and the setParameters on the resmoke command line. By that reasoning, it would be &quot;more right&quot; to disallow setParameters that conflict on keys between a suite&apos;s definition and the command line.&lt;/p&gt;

&lt;p&gt;I don&apos;t think that&apos;s necessarily appropriate either. It&apos;s &lt;a href=&quot;https://github.com/mongodb/mongo/blob/2e02a4afe323396e15073a38244889862353836c/buildscripts/resmokeconfig/suites/change_streams_secondary_reads.yml#L55-L69&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;exceptionally&lt;/a&gt; &lt;a href=&quot;https://github.com/mongodb/mongo/blob/2e02a4afe323396e15073a38244889862353836c/buildscripts/resmokeconfig/suites/integration_tests_sharded.yml#L20-L29&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;common&lt;/a&gt; for &lt;a href=&quot;https://github.com/mongodb/mongo/blob/2e02a4afe323396e15073a38244889862353836c/buildscripts/resmokeconfig/suites/jstestfuzz_replication_initsync.yml#L31-L32&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;suites&lt;/a&gt; to override &lt;a href=&quot;https://github.com/mongodb/mongo/blob/2e02a4afe323396e15073a38244889862353836c/buildscripts/resmokeconfig/suites/multi_shard_local_read_write_multi_stmt_txn_jscore_passthrough.yml#L354-L364&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;logComponentVerbosity&lt;/a&gt;. A user adding &lt;tt&gt;mongo&lt;span class=&quot;error&quot;&gt;&amp;#91;ds&amp;#93;&lt;/span&gt;SetParameter&lt;/tt&gt; on the command line should always be able to change the logComponentVerbosity.&lt;/p&gt;

&lt;p&gt;I did consider disallowing suites + resmoke to conflict on duplicate keys, but leaving an exception for &lt;tt&gt;logComponentVerbosity&lt;/tt&gt;. In the end that felt like a lot of work that was perhaps too prescriptive (should a user not* be able to &lt;a href=&quot;https://github.com/mongodb/mongo/blob/2e02a4afe323396e15073a38244889862353836c/buildscripts/resmokeconfig/suites/multi_shard_local_read_write_multi_stmt_txn_jscore_passthrough.yml#L366&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;override &lt;tt&gt;numInitialSyncAttempts&lt;/tt&gt;&lt;/a&gt; in a local run?)&lt;/p&gt;

&lt;p&gt;And to repeat, unless I did something wrong (certainly possible &#8211; there&apos;s a lot of unrelated red boxes to sift through), this is all hypothetical.&lt;/p&gt;</comment>
                            <comment id="3038606" author="max.hirschhorn@10gen.com" created="Tue, 14 Apr 2020 13:20:30 +0000"  >&lt;blockquote&gt;
&lt;p&gt;It might be an issue with the Python option parser ignoring duplicates.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;The &lt;tt&gt;&amp;#45;&amp;#45;mongodSetParameters&lt;/tt&gt; and &lt;tt&gt;&amp;#45;&amp;#45;mongosSetParameters&lt;/tt&gt; command line options use the default &lt;tt&gt;action=&quot;store&quot;&lt;/tt&gt;. We faced a similar issue in the past with &lt;tt&gt;&amp;#45;&amp;#45;excludeWithAnyTags&lt;/tt&gt; being specified on both a build variant definition and a task definition. It was addressed in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-27408&quot; title=&quot;burn_in_tests.py doesn&amp;#39;t always exclude tagged tests when generating outfile&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-27408&quot;&gt;&lt;del&gt;SERVER-27408&lt;/del&gt;&lt;/a&gt; by switching to use &lt;tt&gt;action=&quot;append&quot;&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Having top-level keys in a later &lt;tt&gt;&amp;#45;&amp;#45;mongodSetParameters&lt;/tt&gt; blob override top-level keys in an &lt;tt&gt;&amp;#45;&amp;#45;mongodSetParameters&lt;/tt&gt; blob seems easy enough to reason about. This is effectively what those command line options means for &lt;tt&gt;set_parameters&lt;/tt&gt; expressed in the YAML suite file. I&apos;d still say attempting to do any kind of &quot;deep merging&quot; (e.g. around log component verbosity) would be asking for trouble.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1435495">SERVER-50188</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1924384">SERVER-61460</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1416327">SERVER-49790</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9.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_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="18953"><![CDATA[v4.4]]></customfieldvalue>
    <customfieldvalue key="16775"><![CDATA[v4.2]]></customfieldvalue>
    <customfieldvalue key="15640"><![CDATA[v4.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, 14 Apr 2020 13:20:30 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        2 years, 36 weeks, 1 day 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>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            2 years, 36 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>50.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>daniel.gottlieb@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>jason.chan@mongodb.com</customfieldvalue>
            <customfieldvalue>louis.williams@mongodb.com</customfieldvalue>
            <customfieldvalue>max.hirschhorn@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hxf0jr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hx2j2n:</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="3965">STM 2020-08-10</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10555" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</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|hxemt3:</customfieldvalue>

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