You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Make the mtr test script compatible with the new gflags system #148
In order to keep mariadb_test-run.pl compatible with the new gflags cmd arg system, we need to make some adjustments.
NOTE: the thoughts below are based on my resarch, please do your own research to see if the plan works and if there's any thing missing.
EloqSql no longer takes the original mysql command line args. It only takes glfags defined in data substrate. So we need to replace the options passed to mysqld in mtr. There are a few options:1. Put them into config file. 2. If for multi node case, we need to pass in different value, for example default-group-suffix, we can define the gflag in mysqld when code is built in debug mode and pass it to mysqld so that it can still consume the value.
EloqSql now takes mysql related config from eloqsql_config flag, and data substrate related config from config flag. So mtr need to pass in an extra config file. mtr should seek config file location just like it did with searching mysql config file. It should follow the priority like this 1. {test_name}_data_substrate.cnf 2. suite level config with name data_substrate.cnf.
See the test conf in mono_multi dir, we used to pass in data substrate params like eloq_local_ip and eloq_metrics_port in mysql config with different group suffix. Now that it is moved to data substrate config, and we do not want to create 3 separate config files for a 3 node cluster, so we need to find a way to get around these configs. eloq_local_ip is separated into tx_ip and tx_port. tx_ip is the same for test cluster nodes, tx_port is different though, pass them in from cmd line, just like default-group-suffix. You can default it too group_suffix * 1000 and pass it in. For metrics port, just disable metrics in the shared data substrate file so that we do not need to worry about it.
In the end, the success criteria is mono_basic test cases can be run successfully. you can run mtr with command format below
Tried to modify test script to make it compatible with gflags system but didn't work.
New plan is to make mysqld backward compatible when built alone as a binary.
When built as a library, it will still only accept gflags defined flags.
Activity
liunyl commentedon Oct 27, 2025
Input prompt for plan:
In order to keep mariadb_test-run.pl compatible with the new gflags cmd arg system, we need to make some adjustments.
NOTE: the thoughts below are based on my resarch, please do your own research to see if the plan works and if there's any thing missing.
eloqsql_configflag, and data substrate related config fromconfigflag. So mtr need to pass in an extra config file. mtr should seekconfigfile location just like it did with searching mysql config file. It should follow the priority like this 1.{test_name}_data_substrate.cnf2. suite level config with namedata_substrate.cnf.eloq_local_ipis separated intotx_ipandtx_port.tx_ipis the same for test cluster nodes,tx_portis different though, pass them in from cmd line, just like default-group-suffix. You can default it toogroup_suffix * 1000and pass it in. For metrics port, just disable metrics in the shared data substrate file so that we do not need to worry about it.In the end, the success criteria is mono_basic test cases can be run successfully. you can run mtr with command format below
liunyl commentedon Oct 29, 2025
Tried to modify test script to make it compatible with gflags system but didn't work.
New plan is to make mysqld backward compatible when built alone as a binary.
When built as a library, it will still only accept gflags defined flags.
liunyl commentedon Nov 17, 2025
Made new eloqsql backward compatible