[SERVER-61460] Resmoke should merge config_svr options with mongod_options rather than overriding them Created: 12/Nov/21  Updated: 29/Oct/23  Resolved: 25/Mar/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 5.3.2, 6.0.0-rc0, 5.0.9

Type: Bug Priority: Major - P3
Reporter: Jason Chan Assignee: Robert Guo (Inactive)
Resolution: Fixed Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Related
is related to SERVER-47509 resmoke accepts multiple "mongodSetPa... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v5.3, v5.0
Sprint: Dev Platform 2022-03-21
Participants:
Linked BF Score: 35

 Description   

For resmoke sharded cluster fixtures, we are currently overriding mongod options with parameters set in the configsvr_options map rather than merging them. We should have special handling here and here to merge the appropriate set parameters defined across the config file rather than overriding them.



 Comments   
Comment by Githook User [ 26/Apr/22 ]

Author:

{'name': 'Robert Guo', 'email': 'robert.guo@mongodb.com'}

Message: SERVER-61460 correctly merge --setParameter in resmoke

(cherry picked from commit 876e0930d208a9b29c2aa02b291a0d57db678f8f)
Branch: v5.0
https://github.com/mongodb/mongo/commit/147ff9ce39630dc3dc5f30fa71751daa31bb66a1

Comment by Githook User [ 26/Apr/22 ]

Author:

{'name': 'Robert Guo', 'email': 'robert.guo@10gen.com', 'username': 'guoyr'}

Message: SERVER-61460 correctly merge --setParameter in resmoke

(cherry picked from commit 876e0930d208a9b29c2aa02b291a0d57db678f8f)
Branch: v5.3
https://github.com/mongodb/mongo/commit/225adcd8145472f1733c293c2bf8e6cb95c00e63

Comment by Githook User [ 24/Mar/22 ]

Author:

{'name': 'Robert Guo', 'email': 'robert.guo@10gen.com', 'username': 'guoyr'}

Message: SERVER-61460 correctly merge --setParameter in resmoke
Branch: master
https://github.com/mongodb/mongo/commit/876e0930d208a9b29c2aa02b291a0d57db678f8f

Comment by Daniel Gottlieb (Inactive) [ 02/Mar/22 ]

I see this has been around for a few months. Can this be prioritized? I can't say this is causing a lot of test failures, but identifying whether a patch run test failure is this problem or not is tricky and time consuming.

Comment by Andrew Shuvalov (Inactive) [ 21/Jan/22 ]

Added BF-23171 as another case to reproduce the problem.

Comment by Max Hirschhorn [ 12/Nov/21 ]

I think for all non set_parameters keys in fixture.configsvr_options.mongod_options that the contents of fixture.configsvr_options.mongod_options should continue to replace the contents of fixture.mongod_options.

And for set_parameters we should follow similar behavior to SERVER-47509 of merging the two dictionaries but with any common keys taking on the value of the later specified one. The "later specified one" being fixture.configsvr_options.mongod_options in this example.

This would enable writing

fixture:
  configsvr_options:
    num_nodes: 3
    all_nodes_electable: true
    mongod_options:
      set_parameters:
        reshardingMinimumOperationDurationMillis: 30000 # 30 seconds
  shard_options:
    all_nodes_electable: true
    mongod_options:
      oplogSize: 1024
  mongod_options:
    set_parameters:
      enableTestCommands: 1
      enableElectionHandoff: 0
      roleGraphInvalidationIsFatal: 1
      receiveChunkWaitForRangeDeleterTimeoutMS: 90000

to imply

fixture:
  configsvr_options:
    num_nodes: 3
    all_nodes_electable: true
    mongod_options:
      set_parameters:
        enableTestCommands: 1
        enableElectionHandoff: 0
        roleGraphInvalidationIsFatal: 1
        receiveChunkWaitForRangeDeleterTimeoutMS: 90000
        reshardingMinimumOperationDurationMillis: 30000 # 30 seconds
  shard_options:
    all_nodes_electable: true
    mongod_options:
      oplogSize: 1024
      set_parameters:
        enableTestCommands: 1
        enableElectionHandoff: 0
        roleGraphInvalidationIsFatal: 1
        receiveChunkWaitForRangeDeleterTimeoutMS: 90000

Generated at Thu Feb 08 05:52:28 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.