mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 19:06:14 +01:00 
			
		
		
		
	 7ffa7b6b01
			
		
	
	
	7ffa7b6b01
	
	
	
		
			
			Clean up configuration and tests. Add wait conditions to make sure test continues from clean state. Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
		
			
				
	
	
		
			207 lines
		
	
	
	
		
			6.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			207 lines
		
	
	
	
		
			6.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #
 | |
| # Test that even after multiple restarts in a WAN context with two segments, the cluster continues to operate correctly.
 | |
| #
 | |
| # We can not easily restart the first node, so instead we restart all the other nodes. MTR does not allow multiple nodes
 | |
| # to be down at the same time, so restarts are sequential.
 | |
| #
 | |
| # We can not test any of the actual WAN optimizations from inside MTR and no 
 | |
| # status variables are provided. So we only check that simple replication works.
 | |
| #
 | |
| 
 | |
| --source include/big_test.inc
 | |
| --source include/galera_cluster.inc
 | |
| --source include/force_restart.inc
 | |
| 
 | |
| --connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3
 | |
| --connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4
 | |
| 
 | |
| --let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
 | |
| --source include/wait_condition.inc
 | |
| 
 | |
| # Save original auto_increment_offset values.
 | |
| --let $node_1=node_1
 | |
| --let $node_2=node_2
 | |
| --let $node_3=node_3
 | |
| --let $node_4=node_4
 | |
| --source include/auto_increment_offset_save.inc
 | |
| 
 | |
| SELECT VARIABLE_VALUE AS EXPECT_4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
 | |
| 
 | |
| --connection node_1
 | |
| CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=INNODB;
 | |
| INSERT INTO t1 VALUES (1);
 | |
| 
 | |
| --connection node_2
 | |
| INSERT INTO t1 VALUES (2);
 | |
| 
 | |
| --connection node_3
 | |
| INSERT INTO t1 VALUES (3);
 | |
| 
 | |
| --connection node_4
 | |
| INSERT INTO t1 VALUES (4);
 | |
| 
 | |
| #
 | |
| # Restart node #3
 | |
| #
 | |
| 
 | |
| --connection node_3
 | |
| INSERT INTO t1 VALUES (13);
 | |
| 
 | |
| --echo Shutting down server ...
 | |
| --source include/shutdown_mysqld.inc
 | |
| 
 | |
| 
 | |
| --connection node_1
 | |
| --let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
 | |
| --source include/wait_condition.inc
 | |
| SELECT VARIABLE_VALUE AS EXPECT_3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
 | |
| 
 | |
| INSERT INTO t1 VALUES (11);
 | |
| 
 | |
| --connection node_2
 | |
| INSERT INTO t1 VALUES (12);
 | |
| 
 | |
| --connection node_4
 | |
| INSERT INTO t1 VALUES (14);
 | |
| 
 | |
| --connection node_3
 | |
| --source include/start_mysqld.inc
 | |
| --source include/wait_until_connected_again.inc
 | |
| 
 | |
| --let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
 | |
| --source include/wait_condition.inc
 | |
| SELECT VARIABLE_VALUE AS EXPECT_4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
 | |
| 
 | |
| INSERT INTO t1 VALUES (131);
 | |
| 
 | |
| #
 | |
| # Restart node #2
 | |
| #
 | |
| 
 | |
| --connection node_2
 | |
| INSERT INTO t1 VALUES (22);
 | |
| 
 | |
| --echo Shutting down server ...
 | |
| --source include/shutdown_mysqld.inc
 | |
| 
 | |
| --connection node_1
 | |
| --let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
 | |
| --source include/wait_condition.inc
 | |
| SELECT VARIABLE_VALUE AS EXPECT_3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
 | |
| 
 | |
| INSERT INTO t1 VALUES (21);
 | |
| 
 | |
| --connection node_3
 | |
| INSERT INTO t1 VALUES (23);
 | |
| 
 | |
| --connection node_4
 | |
| INSERT INTO t1 VALUES (24);
 | |
| 
 | |
| --connection node_2
 | |
| --source include/start_mysqld.inc
 | |
| --source include/wait_until_connected_again.inc
 | |
| 
 | |
| --let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
 | |
| --source include/wait_condition.inc
 | |
| SELECT VARIABLE_VALUE AS EXPECT_4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
 | |
| 
 | |
| INSERT INTO t1 VALUES (221);
 | |
| 
 | |
| #
 | |
| # Restart node #4
 | |
| #
 | |
| 
 | |
| --connection node_4
 | |
| INSERT INTO t1 VALUES (34);
 | |
| 
 | |
| --echo Shutting down server ...
 | |
| --source include/shutdown_mysqld.inc
 | |
| 
 | |
| --connection node_1
 | |
| --let $wait_condition = SELECT VARIABLE_VALUE = 3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
 | |
| --source include/wait_condition.inc
 | |
| SELECT VARIABLE_VALUE AS EXPECT_3 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
 | |
| 
 | |
| INSERT INTO t1 VALUES (31);
 | |
| 
 | |
| --connection node_2
 | |
| INSERT INTO t1 VALUES (32);
 | |
| 
 | |
| --connection node_3
 | |
| INSERT INTO t1 VALUES (33);
 | |
| 
 | |
| --connection node_4
 | |
| --source include/start_mysqld.inc
 | |
| --source include/wait_until_connected_again.inc
 | |
| 
 | |
| --let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
 | |
| --source include/wait_condition.inc
 | |
| SELECT VARIABLE_VALUE AS EXPECT_4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
 | |
| 
 | |
| INSERT INTO t1 VALUES (341);
 | |
| 
 | |
| 
 | |
| #
 | |
| # Check all nodes
 | |
| #
 | |
| 
 | |
| --connection node_1
 | |
| --let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
 | |
| --source include/wait_condition.inc
 | |
| --let $wait_condition = SELECT COUNT(*) = 19 FROM t1
 | |
| --source include/wait_condition.inc
 | |
| 
 | |
| SELECT COUNT(*) AS EXPECT_19 FROM t1;
 | |
| 
 | |
| --connection node_2
 | |
| --let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
 | |
| --source include/wait_condition.inc
 | |
| SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
 | |
| 
 | |
| --let $wait_condition = SELECT COUNT(*) = 19 FROM t1
 | |
| --source include/wait_condition.inc
 | |
| 
 | |
| SELECT COUNT(*) AS EXPECT_19 FROM t1;
 | |
| 
 | |
| 
 | |
| --connection node_3
 | |
| --let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size'
 | |
| --source include/wait_condition.inc
 | |
| SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
 | |
| 
 | |
| --let $wait_condition = SELECT COUNT(*) = 19 FROM t1
 | |
| --source include/wait_condition.inc
 | |
| 
 | |
| SELECT COUNT(*) AS EXPECT_19 FROM t1;
 | |
| 
 | |
| --connection node_4
 | |
| --let $wait_condition = SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
 | |
| --source include/wait_condition.inc
 | |
| SELECT VARIABLE_VALUE = 4 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_cluster_size';
 | |
| 
 | |
| --let $wait_condition = SELECT COUNT(*) = 19 FROM t1
 | |
| --source include/wait_condition.inc
 | |
| 
 | |
| SELECT COUNT(*) AS EXPECT_19 FROM t1;
 | |
| 
 | |
| 
 | |
| --connection node_1
 | |
| DROP TABLE t1;
 | |
| CALL mtr.add_suppression("There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside");
 | |
| 
 | |
| --connection node_2
 | |
| CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
 | |
| 
 | |
| --connection node_3
 | |
| CALL mtr.add_suppression("There are no nodes in the same segment that will ever be able to become donors, yet there is a suitable donor outside");
 | |
| CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
 | |
| 
 | |
| --connection node_4
 | |
| CALL mtr.add_suppression("Action message in non-primary configuration from member 0");
 | |
| 
 | |
| # Restore original auto_increment_offset values.
 | |
| --source include/auto_increment_offset_restore.inc
 | |
| 
 | |
| --connection node_1
 | |
| --disconnect node_3
 | |
| --disconnect node_4
 |