mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			206 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			206 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| let $UTIL=$MYSQL_TEST_DIR/suite/im/t;
 | |
| 
 | |
| ###########################################################################
 | |
| #
 | |
| # This file contains test for (1.1) test suite.
 | |
| #
 | |
| # Consult WL#2789 for more information.
 | |
| #
 | |
| ###########################################################################
 | |
| 
 | |
| --source suite/im/t/im_check_env.inc
 | |
| 
 | |
| ###########################################################################
 | |
| #
 | |
| # 1.1.2. Check 'START INSTANCE' command:
 | |
| #  - start the second instance;
 | |
| #  - check that it is reported as online;
 | |
| #  - execute some SQL-statement on mysqld2 to ensure that it is really up and
 | |
| #    running;
 | |
| #
 | |
| ###########################################################################
 | |
| 
 | |
| --echo
 | |
| --echo --------------------------------------------------------------------
 | |
| --echo -- 1.1.2.
 | |
| --echo --------------------------------------------------------------------
 | |
| 
 | |
| START INSTANCE mysqld2;
 | |
| # FIXME: START INSTANCE should be synchronous.
 | |
| --exec $UTIL/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 started im_life_cycle
 | |
| 
 | |
| # FIXME: Result of SHOW INSTANCES here is not deterministic unless START
 | |
| # INSTANCE is synchronous. Even waiting for mysqld to start by looking at
 | |
| # its pid file is not enough, because it is unknown when IM detects that
 | |
| # mysqld has started.
 | |
| # SHOW INSTANCES;
 | |
| 
 | |
| --connect (mysql_con,localhost,root,,mysql,$IM_MYSQLD2_PORT,$IM_MYSQLD2_SOCK)
 | |
| --connection mysql_con
 | |
| 
 | |
| --replace_result $IM_MYSQLD2_PORT IM_MYSQLD2_PORT
 | |
| SHOW VARIABLES LIKE 'port';
 | |
| 
 | |
| --connection default
 | |
| --disconnect mysql_con
 | |
| 
 | |
| ###########################################################################
 | |
| #
 | |
| # 1.1.3. Check 'STOP INSTANCE' command:
 | |
| #  - stop the second instance;
 | |
| #  - check that it is reported as offline;
 | |
| #  - TODO: try to execute some SQL-statement to ensure that it is really down;
 | |
| #
 | |
| ###########################################################################
 | |
| 
 | |
| --echo
 | |
| --echo --------------------------------------------------------------------
 | |
| --echo -- 1.1.3.
 | |
| --echo --------------------------------------------------------------------
 | |
| 
 | |
| STOP INSTANCE mysqld2;
 | |
| # FIXME: STOP INSTANCE should be synchronous.
 | |
| --exec $UTIL/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 stopped im_life_cycle
 | |
| 
 | |
| # FIXME: Result of SHOW INSTANCES here is not deterministic unless START
 | |
| # INSTANCE is synchronous. Even waiting for mysqld to start by looking at
 | |
| # its pid file is not enough, because it is unknown when IM detects that
 | |
| # mysqld has started.
 | |
| # SHOW INSTANCES;
 | |
| 
 | |
| ###########################################################################
 | |
| #
 | |
| # 1.1.4. Check that Instance Manager reports correct errors for 'START
 | |
| # INSTANCE' command:
 | |
| #   - if the client tries to start unregistered instance;
 | |
| #   - if the client tries to start already started instance;
 | |
| #   - if the client submits invalid arguments;
 | |
| #
 | |
| ###########################################################################
 | |
| 
 | |
| --echo
 | |
| --echo --------------------------------------------------------------------
 | |
| --echo -- 1.1.4.
 | |
| --echo --------------------------------------------------------------------
 | |
| 
 | |
| --error 3000 # ER_BAD_INSTANCE_NAME
 | |
| START INSTANCE mysqld3;
 | |
| 
 | |
| --error 3002 # ER_INSTANCE_ALREADY_STARTED
 | |
| START INSTANCE mysqld1;
 | |
| 
 | |
| ###########################################################################
 | |
| #
 | |
| # 1.1.5. Check that Instance Manager reports correct errors for
 | |
| #        'STOP INSTANCE' command:
 | |
| #   - if the client tries to start unregistered instance;
 | |
| #   - if the client tries to start already stopped instance;
 | |
| #   - if the client submits invalid arguments;
 | |
| #
 | |
| ###########################################################################
 | |
| 
 | |
| --echo
 | |
| --echo --------------------------------------------------------------------
 | |
| --echo -- 1.1.5.
 | |
| --echo --------------------------------------------------------------------
 | |
| 
 | |
| --error 3000 # ER_BAD_INSTANCE_NAME
 | |
| STOP INSTANCE mysqld3;
 | |
| 
 | |
| # TODO: IM should be fixed.
 | |
| # BUG#12673: Instance Manager allows to stop the instance many times
 | |
| # --error 3002 # ER_INSTANCE_ALREADY_STARTED
 | |
| # STOP INSTANCE mysqld2;
 | |
| 
 | |
| ###########################################################################
 | |
| #
 | |
| # 1.1.6. Check that Instance Manager is able to restart guarded instances.
 | |
| #
 | |
| ###########################################################################
 | |
| 
 | |
| --echo
 | |
| --echo --------------------------------------------------------------------
 | |
| --echo -- 1.1.6.
 | |
| --echo --------------------------------------------------------------------
 | |
| 
 | |
| --exec $UTIL/kill_n_check.sh $IM_MYSQLD1_PATH_PID restarted 30 im_life_cycle
 | |
| 
 | |
| # Give some time to IM to detect that mysqld was restarted. It should be
 | |
| # longer than monitoring interval.
 | |
| 
 | |
| --sleep 3
 | |
| 
 | |
| SHOW INSTANCES;
 | |
| 
 | |
| ###########################################################################
 | |
| #
 | |
| # 1.1.7. Check that Instance Manager does not restart non-guarded instance.
 | |
| #
 | |
| ###########################################################################
 | |
| 
 | |
| --echo
 | |
| --echo --------------------------------------------------------------------
 | |
| --echo -- 1.1.7.
 | |
| --echo --------------------------------------------------------------------
 | |
| 
 | |
| START INSTANCE mysqld2;
 | |
| # FIXME: START INSTANCE should be synchronous.
 | |
| --exec $UTIL/wait_for_process.sh $IM_MYSQLD2_PATH_PID 30 started im_life_cycle
 | |
| 
 | |
| # FIXME: Result of SHOW INSTANCES here is not deterministic unless START
 | |
| # INSTANCE is synchronous. Even waiting for mysqld to start by looking at
 | |
| # its pid file is not enough, because it is unknown when IM detects that
 | |
| # mysqld has started.
 | |
| # SHOW INSTANCES;
 | |
| 
 | |
| --exec $UTIL/kill_n_check.sh $IM_MYSQLD2_PATH_PID killed 10 im_life_cycle
 | |
| 
 | |
| # FIXME: Result of SHOW INSTANCES here is not deterministic unless START
 | |
| # INSTANCE is synchronous. Even waiting for mysqld to start by looking at
 | |
| # its pid file is not enough, because it is unknown when IM detects that
 | |
| # mysqld has started.
 | |
| # SHOW INSTANCES;
 | |
| 
 | |
| ###########################################################################
 | |
| #
 | |
| # 1.1.8. Check that Instance Manager returns an error on
 | |
| # incomplete SHOW INSTANCE STATUS command.
 | |
| #
 | |
| ###########################################################################
 | |
| 
 | |
| --echo
 | |
| --echo --------------------------------------------------------------------
 | |
| --echo -- 1.1.8.
 | |
| --echo --------------------------------------------------------------------
 | |
| 
 | |
| --error ER_SYNTAX_ERROR
 | |
| SHOW INSTANCE STATUS;
 | |
| 
 | |
| #
 | |
| # Tests for bug fixes
 | |
| #
 | |
| 
 | |
| #
 | |
| # Bug #12813    Instance Manager: START/STOP INSTANCE commands accept
 | |
| #                                 a list as argument.
 | |
| #
 | |
| 
 | |
| --echo
 | |
| --echo --------------------------------------------------------------------
 | |
| --echo -- BUG#12813
 | |
| --echo --------------------------------------------------------------------
 | |
| 
 | |
| --error ER_SYNTAX_ERROR
 | |
| START INSTANCE mysqld1,mysqld2,mysqld3;
 | |
| 
 | |
| --error ER_SYNTAX_ERROR
 | |
| STOP INSTANCE mysqld1,mysqld2,mysqld3;
 | |
| 
 | |
| #
 | |
| # Bug #12673: Instance Manager: allows to stop the instance many times
 | |
| #
 | |
| --error 3001
 | |
| STOP INSTANCE mysqld2;
 | |
| 
 | |
| --echo End of 5.0 tests
 | 
