mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
The ignored events are not written to the relay log, but instead a fake Rotate event is generated to handle update of position. Extend this for Gtid so we similarly generate a fake Gtid_list event to update the GTID position. Also fix an unrelated test issue that got triggered by the added test cases.
36 lines
1.0 KiB
Plaintext
36 lines
1.0 KiB
Plaintext
include/master-slave.inc
|
|
[connection master]
|
|
CREATE TABLE t1 (i int) ENGINE=InnoDB;
|
|
*** MDEV-4484, incorrect error handling when entries in gtid_slave_pos not found. ***
|
|
TRUNCATE TABLE mysql.gtid_slave_pos;
|
|
INSERT INTO t1 VALUES (1);
|
|
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");
|
|
ALTER TABLE mysql.gtid_slave_pos ENGINE=MyISAM;
|
|
SET sql_log_bin= 1;
|
|
include/start_slave.inc
|
|
INSERT INTO t1 VALUES (2);
|
|
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
|
|
INSERT INTO t1 VALUES (3);
|
|
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
|
|
DROP TABLE t1;
|
|
include/rpl_end.inc
|