Commit bdf6367d authored by unknown's avatar unknown

MDEV-26: Global transaction ID

More fixes for test failures in Buildbot:

 - Do not run crashing test in Valgrind.

 - FLUSH TABLES did not work to avoid errors about not closed tables when
   crashing server. Suppress the messages instead.

 - Rewrite multi-source test case to only start one pair of slave threads at a
   time, to work-around the bug MDEV-4352.
parent d639aece
CHANGE MASTER 'slave1' TO master_port=MYPORT_1, master_host='127.0.0.1', master_user='root'; CHANGE MASTER 'slave1' TO master_port=MYPORT_1, master_host='127.0.0.1', master_user='root';
CHANGE MASTER 'slave2' TO master_port=MYPORT_2, master_host='127.0.0.1', master_user='root'; CHANGE MASTER 'slave2' TO master_port=MYPORT_2, master_host='127.0.0.1', master_user='root';
start all slaves;
Warnings:
Note 1937 SLAVE 'slave2' started
Note 1937 SLAVE 'slave1' started
set default_master_connection = 'slave1'; set default_master_connection = 'slave1';
START SLAVE;
include/wait_for_slave_to_start.inc include/wait_for_slave_to_start.inc
set default_master_connection = 'slave2'; set default_master_connection = 'slave2';
START SLAVE;
include/wait_for_slave_to_start.inc include/wait_for_slave_to_start.inc
set default_master_connection = ''; set default_master_connection = '';
CHANGE MASTER TO master_port=MYPORT_3, master_host='127.0.0.1', master_user='root'; CHANGE MASTER TO master_port=MYPORT_3, master_host='127.0.0.1', master_user='root';
......
...@@ -15,10 +15,11 @@ ...@@ -15,10 +15,11 @@
eval CHANGE MASTER 'slave1' TO master_port=$SERVER_MYPORT_1, master_host='127.0.0.1', master_user='root'; eval CHANGE MASTER 'slave1' TO master_port=$SERVER_MYPORT_1, master_host='127.0.0.1', master_user='root';
--replace_result $SERVER_MYPORT_2 MYPORT_2 --replace_result $SERVER_MYPORT_2 MYPORT_2
eval CHANGE MASTER 'slave2' TO master_port=$SERVER_MYPORT_2, master_host='127.0.0.1', master_user='root'; eval CHANGE MASTER 'slave2' TO master_port=$SERVER_MYPORT_2, master_host='127.0.0.1', master_user='root';
start all slaves;
set default_master_connection = 'slave1'; set default_master_connection = 'slave1';
START SLAVE;
--source include/wait_for_slave_to_start.inc --source include/wait_for_slave_to_start.inc
set default_master_connection = 'slave2'; set default_master_connection = 'slave2';
START SLAVE;
--source include/wait_for_slave_to_start.inc --source include/wait_for_slave_to_start.inc
set default_master_connection = ''; set default_master_connection = '';
......
include/rpl_init.inc [topology=1->2] include/rpl_init.inc [topology=1->2]
*** Test crashing master, causing slave IO thread to reconnect while SQL thread is running *** *** Test crashing master, causing slave IO thread to reconnect while SQL thread is running ***
call mtr.add_suppression("Checking table:");
call mtr.add_suppression("client is using or hasn't closed the table properly");
call mtr.add_suppression("Table .* is marked as crashed and should be repaired");
ALTER TABLE mysql.rpl_slave_state ENGINE=InnoDB; ALTER TABLE mysql.rpl_slave_state ENGINE=InnoDB;
CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB; CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1, 0); INSERT INTO t1 VALUES (1, 0);
include/stop_slave.inc include/stop_slave.inc
CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT, CHANGE MASTER TO master_host = '127.0.0.1', master_port = MASTER_PORT,
MASTER_GTID_POS=AUTO; MASTER_GTID_POS=AUTO;
SET sql_log_bin=0;
FLUSH TABLES;
SET sql_log_bin=1;
INSERT INTO t1 VALUES (2,1); INSERT INTO t1 VALUES (2,1);
INSERT INTO t1 VALUES (3,1); INSERT INTO t1 VALUES (3,1);
include/start_slave.inc include/start_slave.inc
...@@ -26,9 +26,6 @@ SHOW BINLOG EVENTS IN 'master-bin.000001' LIMIT 1,1; ...@@ -26,9 +26,6 @@ SHOW BINLOG EVENTS IN 'master-bin.000001' LIMIT 1,1;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Gtid_list # # [] master-bin.000001 # Gtid_list # # []
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
SET sql_log_bin=0;
FLUSH TABLES;
SET sql_log_bin=1;
include/start_slave.inc include/start_slave.inc
SET gtid_domain_id= 1; SET gtid_domain_id= 1;
INSERT INTO t1 VALUES (1); INSERT INTO t1 VALUES (1);
...@@ -67,37 +64,22 @@ include/stop_slave.inc ...@@ -67,37 +64,22 @@ include/stop_slave.inc
SET GLOBAL debug_dbug="+d,inject_crash_before_write_rpl_slave_state"; SET GLOBAL debug_dbug="+d,inject_crash_before_write_rpl_slave_state";
START SLAVE; START SLAVE;
INSERT INTO t1 VALUES (4); INSERT INTO t1 VALUES (4);
SET sql_log_bin=0;
FLUSH TABLES;
SET sql_log_bin=1;
include/stop_slave.inc include/stop_slave.inc
SET GLOBAL debug_dbug="+d,crash_commit_before"; SET GLOBAL debug_dbug="+d,crash_commit_before";
START SLAVE; START SLAVE;
INSERT INTO t1 VALUES (5); INSERT INTO t1 VALUES (5);
SET sql_log_bin=0;
FLUSH TABLES;
SET sql_log_bin=1;
include/stop_slave.inc include/stop_slave.inc
SET GLOBAL debug_dbug="+d,crash_commit_after"; SET GLOBAL debug_dbug="+d,crash_commit_after";
START SLAVE; START SLAVE;
INSERT INTO t1 VALUES (6); INSERT INTO t1 VALUES (6);
SET sql_log_bin=0;
FLUSH TABLES;
SET sql_log_bin=1;
include/stop_slave.inc include/stop_slave.inc
SET GLOBAL debug_dbug="+d,inject_crash_before_flush_rli"; SET GLOBAL debug_dbug="+d,inject_crash_before_flush_rli";
START SLAVE; START SLAVE;
INSERT INTO t1 VALUES (7); INSERT INTO t1 VALUES (7);
SET sql_log_bin=0;
FLUSH TABLES;
SET sql_log_bin=1;
include/stop_slave.inc include/stop_slave.inc
SET GLOBAL debug_dbug="+d,inject_crash_after_flush_rli"; SET GLOBAL debug_dbug="+d,inject_crash_after_flush_rli";
START SLAVE; START SLAVE;
INSERT INTO t1 VALUES (8); INSERT INTO t1 VALUES (8);
SET sql_log_bin=0;
FLUSH TABLES;
SET sql_log_bin=1;
SELECT * FROM t1 ORDER BY a; SELECT * FROM t1 ORDER BY a;
a a
1 1
......
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_debug.inc --source include/have_debug.inc
# Valgrind does not work well with test that crashes the server
--source include/not_valgrind.inc
--let $rpl_topology=1->2 --let $rpl_topology=1->2
--source include/rpl_init.inc --source include/rpl_init.inc
...@@ -7,6 +9,10 @@ ...@@ -7,6 +9,10 @@
--echo *** Test crashing master, causing slave IO thread to reconnect while SQL thread is running *** --echo *** Test crashing master, causing slave IO thread to reconnect while SQL thread is running ***
--connection server_1 --connection server_1
call mtr.add_suppression("Checking table:");
call mtr.add_suppression("client is using or hasn't closed the table properly");
call mtr.add_suppression("Table .* is marked as crashed and should be repaired");
ALTER TABLE mysql.rpl_slave_state ENGINE=InnoDB; ALTER TABLE mysql.rpl_slave_state ENGINE=InnoDB;
CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB; CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1, 0); INSERT INTO t1 VALUES (1, 0);
...@@ -20,9 +26,6 @@ eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $MASTER_MYPORT, ...@@ -20,9 +26,6 @@ eval CHANGE MASTER TO master_host = '127.0.0.1', master_port = $MASTER_MYPORT,
MASTER_GTID_POS=AUTO; MASTER_GTID_POS=AUTO;
--connection server_1 --connection server_1
# Attempt to get tables closed and avoid "table ... is marked as crashed"
# messages in error log.
SET sql_log_bin=0; FLUSH TABLES; SET sql_log_bin=1;
INSERT INTO t1 VALUES (2,1); INSERT INTO t1 VALUES (2,1);
INSERT INTO t1 VALUES (3,1); INSERT INTO t1 VALUES (3,1);
...@@ -84,7 +87,6 @@ RESET MASTER; ...@@ -84,7 +87,6 @@ RESET MASTER;
--replace_column 2 # 4 # 5 # --replace_column 2 # 4 # 5 #
SHOW BINLOG EVENTS IN 'master-bin.000001' LIMIT 1,1; SHOW BINLOG EVENTS IN 'master-bin.000001' LIMIT 1,1;
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
SET sql_log_bin=0; FLUSH TABLES; SET sql_log_bin=1;
--connection server_2 --connection server_2
--source include/start_slave.inc --source include/start_slave.inc
...@@ -153,7 +155,6 @@ EOF ...@@ -153,7 +155,6 @@ EOF
--enable_reconnect --enable_reconnect
--source include/wait_until_connected_again.inc --source include/wait_until_connected_again.inc
SET sql_log_bin=0; FLUSH TABLES; SET sql_log_bin=1;
--let $wait_condition= SELECT COUNT(*) = 4 FROM t1 --let $wait_condition= SELECT COUNT(*) = 4 FROM t1
--source include/wait_condition.inc --source include/wait_condition.inc
...@@ -179,7 +180,6 @@ EOF ...@@ -179,7 +180,6 @@ EOF
--enable_reconnect --enable_reconnect
--source include/wait_until_connected_again.inc --source include/wait_until_connected_again.inc
SET sql_log_bin=0; FLUSH TABLES; SET sql_log_bin=1;
--let $wait_condition= SELECT COUNT(*) = 5 FROM t1 --let $wait_condition= SELECT COUNT(*) = 5 FROM t1
--source include/wait_condition.inc --source include/wait_condition.inc
...@@ -205,7 +205,6 @@ EOF ...@@ -205,7 +205,6 @@ EOF
--enable_reconnect --enable_reconnect
--source include/wait_until_connected_again.inc --source include/wait_until_connected_again.inc
SET sql_log_bin=0; FLUSH TABLES; SET sql_log_bin=1;
--let $wait_condition= SELECT COUNT(*) = 6 FROM t1 --let $wait_condition= SELECT COUNT(*) = 6 FROM t1
--source include/wait_condition.inc --source include/wait_condition.inc
...@@ -231,7 +230,6 @@ EOF ...@@ -231,7 +230,6 @@ EOF
--enable_reconnect --enable_reconnect
--source include/wait_until_connected_again.inc --source include/wait_until_connected_again.inc
SET sql_log_bin=0; FLUSH TABLES; SET sql_log_bin=1;
--let $wait_condition= SELECT COUNT(*) = 7 FROM t1 --let $wait_condition= SELECT COUNT(*) = 7 FROM t1
--source include/wait_condition.inc --source include/wait_condition.inc
...@@ -257,7 +255,6 @@ EOF ...@@ -257,7 +255,6 @@ EOF
--enable_reconnect --enable_reconnect
--source include/wait_until_connected_again.inc --source include/wait_until_connected_again.inc
SET sql_log_bin=0; FLUSH TABLES; SET sql_log_bin=1;
--let $wait_condition= SELECT COUNT(*) = 8 FROM t1 --let $wait_condition= SELECT COUNT(*) = 8 FROM t1
--source include/wait_condition.inc --source include/wait_condition.inc
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment