- BUG#15934: Instance manager fails to work;
- BUG#18020: IM connect problem;
- BUG#18027: IM: Server_ID differs;
- BUG#18033: IM: Server_ID not reported;
- BUG#21331: Instance Manager: Connect problems in tests;
The only test suite has been changed
(server codebase has not been modified).
BitKeeper/deleted/.del-im_check_os.inc:
Rename: mysql-test/include/im_check_os.inc -> BitKeeper/deleted/.del-im_check_os.inc
mysql-test/include/im_check_env.inc:
Include only this file from all IM-tests.
mysql-test/lib/mtr_io.pl:
Update mtr_get_pid_from_file() to workaround race,
described in BUG#21884.
mysql-test/lib/mtr_process.pl:
Refactor im_start()/im_stop() so that they will be more
reliable. There are the following user-visible changes:
- if one of these functions fails, the test suite
is aborted;
- mtr_im_stop() now determines whether the component is
alive or not not only by checking PID, but also by trying
to connect to the component;
- after starting IM, the test suite waits for it to start
accepting client connections and to start all its guarded
mysqld instances;
- a lot of debug-logs have been added in order to simplify
investigation of future failures.
mysql-test/mysql-test-run.pl:
1. Get rid of kill_and_cleanup();
2. Move im_start()/im_stop() to mtr_process.pl;
3. Change default IM port to 9311 so that it does not interfere
with default slave port;
mysql-test/r/im_daemon_life_cycle.result:
Updated result file.
mysql-test/r/im_life_cycle.result:
Updated result file.
mysql-test/r/im_options_set.result:
Updated result file.
mysql-test/r/im_options_unset.result:
Updated result file.
mysql-test/r/im_utils.result:
Updated result file.
mysql-test/t/im_daemon_life_cycle.imtest:
Updated IM-test.
mysql-test/t/im_life_cycle.imtest:
Updated IM-test.
mysql-test/t/im_options_set.imtest:
Updated IM-test.
mysql-test/t/im_options_unset.imtest:
Updated IM-test.
mysql-test/t/im_utils.imtest:
Updated IM-test.
Fix for the bug in mysql-test-run.pl which prevents other tests succeed
after IM-test failure.
The idea of the fix of BUG#20716 is to:
1. Check each SHOW INSTANCES statement, add necessary "sleep" instruction before;
2. Move all environment checkings into the one file and include it everywhere.
mysql-test/mysql-test-run.pl:
Fix bug in mysql-test-run.pl -- kill leftovers if some
guarded mysqld-instance is still alive after IM shutdown.
mysql-test/r/im_daemon_life_cycle.result:
Updated result file.
mysql-test/r/im_life_cycle.result:
Updated result file.
mysql-test/r/im_options_set.result:
Updated result file.
mysql-test/r/im_options_unset.result:
Updated result file.
mysql-test/r/im_utils.result:
Updated result file.
mysql-test/t/im_daemon_life_cycle.imtest:
Include im_check_env.inc for the checking of environment.
mysql-test/t/im_life_cycle.imtest:
Include im_check_env.inc for the checking of environment.
mysql-test/t/im_options_set.imtest:
Include im_check_env.inc for the checking of environment.
mysql-test/t/im_options_unset.imtest:
Include im_check_env.inc for the checking of environment.
mysql-test/t/im_utils.imtest:
Include im_check_env.inc for the checking of environment.
mysql-test/include/im_check_env.inc:
A new file to be included in each IM-test.
The statements in the file ensure that starting
conditions (environment) are as expected.
can be started several times; monitor interval must be > 2sec
mysql-test/r/im_daemon_life_cycle.result:
Updated result file.
mysql-test/r/im_life_cycle.result:
Updated result file.
mysql-test/r/im_utils.result:
Updated result file.
mysql-test/t/im_daemon_life_cycle-im.opt:
Set monitoring interval to 1 second in order to:
- be consistent with 5.1;
- speed up tests;
mysql-test/t/im_daemon_life_cycle.imtest:
1. Use wait_for_start.sh script to minimize chance of race condition.
2. Polishing.
mysql-test/t/im_life_cycle.imtest:
1. Use wait_for_start.sh and wait_for_stop.sh scripts to
minimize chance of race condition;
2. Remove some statements, because there is no way now to
stabilize their output.
3. Polishing;
mysql-test/t/im_utils.imtest:
1. Use wait_for_start.sh script to minimize chance of race condition.
2. Polishing.
mysql-test/t/kill_n_check.sh:
1. Make timeout configurable by command-line argument;
2. Change algorithm of waiting for process to restart to be
more robust.
mysql-test/t/im_life_cycle-im.opt:
Set monitoring interval to 1 second in order to:
- be consistent with 5.1;
- speed up tests;
mysql-test/t/im_utils-im.opt:
Set monitoring interval to 1 second in order to:
- be consistent with 5.1;
- speed up tests;
mysql-test/t/wait_for_process.sh:
A new helper script, intended to be used instead of dummy "sleep"
when waiting for some process to start or stop.
Add Instance Manager tests.
mysql-test/include/im_check_os.inc:
Currently Instance Manager tests are known to work only on UNIX platform.
This header file is included in each IM-test in order to skip the test
on Windows.
mysql-test/r/im_daemon_life_cycle.result:
Results file for Instance Manager daemon test.
mysql-test/r/im_life_cycle.result:
Results file for Instance Manager life cycle test.
mysql-test/r/im_options_set.result:
Results file for Instance Manager SET statement test.
mysql-test/r/im_options_unset.result:
Results file for Instance Manager UNSET statement test.
mysql-test/r/im_utils.result:
Results file for Instance Manager utils test.
mysql-test/t/im_daemon_life_cycle-im.opt:
Options file for Instance Manager daemon test.
mysql-test/t/im_daemon_life_cycle.imtest:
Instance Manager daemon test (mysqltestrun-part).
mysql-test/t/im_life_cycle.imtest:
Instance Manager life cycle test.
mysql-test/t/im_options_set.imtest:
Instance Manager SET statement test.
mysql-test/t/im_options_unset.imtest:
Instance Manager UNSET statement test.
mysql-test/t/im_utils.imtest:
Instance Manager utils test.
mysql-test/t/kill_n_check.sh:
The helper script. Its main idea is to kill some process and
check that the process will (or will not) be restarted.