mariadb/mysql-test/suite/rpl/r/rpl_gtid_mdev4484.result
Kristian Nielsen 105ea511dc MDEV-12179: Per-engine mysql.gtid_slave_pos table
Intermediate commit.

Fix test failure in rpl.rpl_gtid_mdev4484 when an earlier test changed
the mysql.gtid_slave_pos table to innodb. With MDEV-12179, the delete
of the old GTID is skipped, because it is recorded as belonging to
another engine, due to ALTER TABLE in the test case.

Fix by restart the SQL thread after the ALTER to have the correct
engine registered.

Also fix the test case rpl.rpl_gtid_ignored to not leave
mysql.innodb_slave_pos as a different engine.
2017-05-10 16:54:28 +02:00

51 lines
1.3 KiB
Text

include/master-slave.inc
[connection master]
connection slave;
include/stop_slave.inc
SET sql_log_bin=0;
ALTER TABLE mysql.gtid_slave_pos ENGINE=MyISAM;
SET sql_log_bin=1;
include/start_slave.inc
connection master;
CREATE TABLE t1 (i int) ENGINE=InnoDB;
connection slave;
*** MDEV-4484, incorrect error handling when entries in gtid_slave_pos not found. ***
TRUNCATE TABLE mysql.gtid_slave_pos;
connection master;
INSERT INTO t1 VALUES (1);
connection slave;
connection slave;
include/stop_slave.inc
SET @old_dbug= @@GLOBAL.debug_dbug;
SET GLOBAL debug_dbug="+d,gtid_slave_pos_simulate_failed_delete";
SET sql_log_bin= 0;
CALL mtr.add_suppression("Can't find file");
SET sql_log_bin= 1;
include/start_slave.inc
connection master;
INSERT INTO t1 VALUES (2);
connection slave;
include/wait_for_slave_sql_error.inc [errno=1942]
STOP SLAVE IO_THREAD;
SELECT domain_id, server_id, seq_no FROM mysql.gtid_slave_pos
ORDER BY domain_id, sub_id DESC LIMIT 1;
domain_id server_id seq_no
0 1 3
SET GLOBAL debug_dbug= @old_dbug;
include/start_slave.inc
connection master;
INSERT INTO t1 VALUES (3);
connection slave;
connection slave;
SELECT domain_id, server_id, seq_no FROM mysql.gtid_slave_pos
ORDER BY domain_id, sub_id DESC LIMIT 1;
domain_id server_id seq_no
0 1 4
SELECT * FROM t1 ORDER BY i;
i
1
2
3
connection master;
DROP TABLE t1;
include/rpl_end.inc