mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	- 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.
		
	
		
			
				
	
	
		
			125 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ###########################################################################
 | |
| #
 | |
| # This file contains test for (3) test suite.
 | |
| #
 | |
| # Consult WL#2789 for more information.
 | |
| #
 | |
| ###########################################################################
 | |
| 
 | |
| #
 | |
| # Check the options-management commands:
 | |
| #  - UNSET;
 | |
| #  - FLUSH INSTANCES;
 | |
| #
 | |
| # Let's test the commands on the option 'server_id'. It's expected that
 | |
| # originally the instances have the following server ids:
 | |
| #  - mysqld1: 1
 | |
| #  - mysqld2: 2
 | |
| #
 | |
| # The test case:
 | |
| #
 | |
| #  1. UNSET <instance_id>.server_id;
 | |
| #
 | |
| #   Do the step for both instances.
 | |
| #
 | |
| #   1.1. check that the configuration file has been updated (i.e.  does not
 | |
| #     contain 'server_id=' line for the instance);
 | |
| #   1.2. (for mysqld1) check that the running instance has not been affected:
 | |
| #     connect to the instance and check that 'SHOW VARIABLES LIKE 'server_id''
 | |
| #     returns non-zero value;
 | |
| #   1.3. check that internal cache of Instance Manager is not affected (i.e.
 | |
| #     SHOW INSTANCE OPTIONS <instance> contains non-zero value for server_id);
 | |
| #
 | |
| #  2. FLUSH INSTANCES;
 | |
| #
 | |
| #   Do the step for both instances.
 | |
| #
 | |
| #   2.1. check that the configuration file has not been updated (i.e.  does not
 | |
| #     contain 'server_id=' for the instance);
 | |
| #   2.2. (for mysqld1) check that the running instance has not been affected:
 | |
| #     connect to the instance and check that 'SHOW VARIABLES LIKE 'server_id''
 | |
| #     returns non-zero value;
 | |
| #   2.3. check that internal cache of Instance Manager has been updated (i.e.
 | |
| #     SHOW INSTANCE OPTIONS <instance> does not contain 'server_id=' line).
 | |
| #
 | |
| 
 | |
| ###########################################################################
 | |
| 
 | |
| --source include/im_check_env.inc
 | |
| 
 | |
| ###########################################################################
 | |
| #
 | |
| # 1. UNSET <instance_id>.server_id;
 | |
| #
 | |
| ###########################################################################
 | |
| 
 | |
| # * mysqld1
 | |
| 
 | |
| UNSET mysqld1.server_id;
 | |
| 
 | |
| #   - check that the configuration file has been updated (i.e.  does not
 | |
| #     contain 'server_id=' line for the instance);
 | |
| 
 | |
| --exec grep server_id $MYSQLTEST_VARDIR/im.cnf ;
 | |
| 
 | |
| #   - check that the running instance has not been affected: connect to the
 | |
| #     instance and check that 'SHOW VARIABLES LIKE 'server_id'' returns non-zero
 | |
| #     value;
 | |
| 
 | |
| --connection mysql1_con
 | |
| 
 | |
| SHOW VARIABLES LIKE 'server_id';
 | |
| 
 | |
| --connection default
 | |
| 
 | |
| #   - check that internal cache of Instance Manager is not affected (i.e.  SHOW
 | |
| #     INSTANCE OPTIONS <instance> contains non-zero value for server_id);
 | |
| #     TODO: we should check only server_id option here.
 | |
| 
 | |
| # SHOW INSTANCE OPTIONS mysqld1;
 | |
| 
 | |
| # * mysqld2
 | |
| 
 | |
| UNSET mysqld2.server_id;
 | |
| 
 | |
| #   - check that the configuration file has been updated (i.e.  does not
 | |
| #     contain 'server_id=' line for the instance);
 | |
| 
 | |
| --exec grep server_id $MYSQLTEST_VARDIR/im.cnf || true;
 | |
| 
 | |
| #   - check that internal cache of Instance Manager is not affected (i.e.  SHOW
 | |
| #     INSTANCE OPTIONS <instance> contains non-zero value for server_id);
 | |
| #     TODO: we should check only server_id option here.
 | |
| 
 | |
| # SHOW INSTANCE OPTIONS mysqld2;
 | |
| 
 | |
| ###########################################################################
 | |
| #
 | |
| # 2. FLUSH INSTANCES;
 | |
| #
 | |
| ###########################################################################
 | |
| 
 | |
| FLUSH INSTANCES;
 | |
| 
 | |
| #   - check that the configuration file has not been updated (i.e.  does not
 | |
| #     contain 'server_id=' for the instance);
 | |
| 
 | |
| --exec grep server_id $MYSQLTEST_VARDIR/im.cnf || true;
 | |
| 
 | |
| #   - (for mysqld1) check that the running instance has not been affected:
 | |
| #     connect to the instance and check that 'SHOW VARIABLES LIKE 'server_id''
 | |
| #     returns non-zero value;
 | |
| 
 | |
| --connection mysql1_con
 | |
| 
 | |
| SHOW VARIABLES LIKE 'server_id';
 | |
| 
 | |
| --connection default
 | |
| 
 | |
| #   - check that internal cache of Instance Manager has been updated (i.e.
 | |
| #     SHOW INSTANCE OPTIONS <instance> does not contain 'server_id=' line).
 | |
| #     TODO: we should check only server_id option here.
 | |
| 
 | |
| # SHOW INSTANCE OPTIONS mysqld1;
 | |
| # SHOW INSTANCE OPTIONS mysqld2;
 |