[SERVER-78380] The command line for the local resmoke.py invocation is not correct for some tasks Created: 23/Jun/23  Updated: 27/Oct/23  Resolved: 23/Jun/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Kaloian Manassiev Assignee: Trevor Guidry
Resolution: Works as Designed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Operating System: ALL
Participants:

 Description   

The command line returned for local invocation of this test is not correct at multiple levels:

#. It has the --mongodSetParameters={internalQueryFrameworkControl: forceClassicEngine} parameter in quotes which results in:

(python3-venv) ubuntu@kal-virtual-workstation:~/workspace/mongo$ mongo-resmoke-run --suites=concurrency_sharded_with_balancer_and_config_shard --continueOnFailure --excludeWithAnyTags=requires_ocsp_stapling,requires_increased_memlock_limits --jobs=1 --shuffle '--mongodSetParameters={internalQueryFrameworkControl: forceClassicEngine}' --storageEngineCacheSizeGB=1
python3.10 ./build/install/bin/resmoke.py run -j8 --log file --mrlog --dbpathPrefix /home/ubuntu/Temp/Data/resmoke --suites=concurrency_sharded_with_balancer_and_config_shard --continueOnFailure --excludeWithAnyTags=requires_ocsp_stapling,requires_increased_memlock_limits --jobs=1 --shuffle --mongodSetParameters={internalQueryFrameworkControl: forceClassicEngine} --storageEngineCacheSizeGB=1
Traceback (most recent call last):
  File "/home/ubuntu/workspace/mongo/buildscripts/resmokelib/utils/__init__.py", line 80, in load_yaml
    return yaml.safe_load(value)
  File "/home/ubuntu/workspace/mongo/python3-venv/lib/python3.10/site-packages/yaml/__init__.py", line 162, in safe_load
    return load(stream, SafeLoader)
  File "/home/ubuntu/workspace/mongo/python3-venv/lib/python3.10/site-packages/yaml/__init__.py", line 114, in load
    return loader.get_single_data()
  File "/home/ubuntu/workspace/mongo/python3-venv/lib/python3.10/site-packages/yaml/constructor.py", line 49, in get_single_data
    node = self.get_single_node()
  File "/home/ubuntu/workspace/mongo/python3-venv/lib/python3.10/site-packages/yaml/composer.py", line 36, in get_single_node
    document = self.compose_document()
  File "/home/ubuntu/workspace/mongo/python3-venv/lib/python3.10/site-packages/yaml/composer.py", line 55, in compose_document
    node = self.compose_node(None, None)
  File "/home/ubuntu/workspace/mongo/python3-venv/lib/python3.10/site-packages/yaml/composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "/home/ubuntu/workspace/mongo/python3-venv/lib/python3.10/site-packages/yaml/composer.py", line 133, in compose_mapping_node
    item_value = self.compose_node(node, item_key)
  File "/home/ubuntu/workspace/mongo/python3-venv/lib/python3.10/site-packages/yaml/composer.py", line 64, in compose_node
    if self.check_event(AliasEvent):
  File "/home/ubuntu/workspace/mongo/python3-venv/lib/python3.10/site-packages/yaml/parser.py", line 98, in check_event
    self.current_event = self.state()
  File "/home/ubuntu/workspace/mongo/python3-venv/lib/python3.10/site-packages/yaml/parser.py", line 574, in parse_flow_mapping_value
    return self.parse_flow_node()
  File "/home/ubuntu/workspace/mongo/python3-venv/lib/python3.10/site-packages/yaml/parser.py", line 268, in parse_flow_node
    return self.parse_node()
  File "/home/ubuntu/workspace/mongo/python3-venv/lib/python3.10/site-packages/yaml/parser.py", line 369, in parse_node
    raise ParserError("while parsing a %s node" % node, start_mark,
yaml.parser.ParserError: while parsing a flow node
expected the node content, but found '<stream end>'
  in "<unicode string>", line 1, column 32:
    {internalQueryFrameworkControl:

#. After fixing it, the server returns the following error:

[j0:s0:sec0] {"t":{"$date":"2023-06-23T13:40:42.059Z"},"s":"F",  "c":"CONTROL",  "id":20574,   "ctx":"main","msg":"Error during global initialization","attr":{"error":{"code":2,"codeName":"BadValue","errmsg":"Unknown --setParameter 'internalQueryFrameworkControl:forceClassicEngine'"}}}

These repro lines are very important and save us a lot of time trying to reproduce a problem, so it is very important that they actually work.



 Comments   
Comment by Kaloian Manassiev [ 23/Jun/23 ]

Hi trevor.guidry@mongodb.com, apologies that was a mistake on my part. It indeed does strip the quotes. This is a shell script, which I wrote in order to not fill my /tmp and /data directories and to always use logging to file:

export INSTALL_DIR="./build/install/bin"
export DATA_DIR="$HOME/Temp/Data"
 
export CMD="python3.10 $INSTALL_DIR/resmoke.py run \
  -j$(nproc --all) \
  --log file \
  --mrlog \
  --dbpathPrefix $DATA_DIR/resmoke \
  ${@}"
 
echo $CMD
$CMD

Closing this ticket, because it actually works when run without the script.

Comment by Trevor Guidry [ 23/Jun/23 ]

Can you explain this `mongo-resmoke-run` part if your invocation? It looks to me like it is an alias and it actually strips the quotes from the original invocation when they were needed. I tried running the exact invocation linked above and it worked for me.

Generated at Thu Feb 08 06:38:12 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.