mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
7b6ab5638a
There was some old code that cleared the position in CHANGE MASTER, it was forgotten to be removed. In addition, add code that saves/restores the old-style position when we nuke the old relay logs as part of GTID slave start. Normally we will not use these, but it could be useful in case the GTID connect fails and user wants to go back to the old-style coordinates.
173 lines
3.5 KiB
Text
173 lines
3.5 KiB
Text
include/rpl_init.inc [topology=1->2]
|
|
include/stop_slave.inc
|
|
CHANGE MASTER TO master_use_gtid= current_pos;
|
|
include/start_slave.inc
|
|
CREATE TABLE t1 (a INT);
|
|
FLUSH LOGS;
|
|
SET gtid_domain_id=10;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t1 VALUES (2);
|
|
SET gtid_seq_no=100;
|
|
INSERT INTO t1 VALUES (3);
|
|
INSERT INTO t1 VALUES (4);
|
|
INSERT INTO t1 VALUES (5);
|
|
include/stop_slave.inc
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
include/kill_binlog_dump_threads.inc
|
|
INSERT INTO t1 VALUES (10);
|
|
SET @old_dbug= @@GLOBAL.debug_dbug;
|
|
SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output";
|
|
SET GLOBAL debug_dbug="+d,gtid_force_reconnect_at_10_1_100";
|
|
include/start_slave.inc
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
10
|
|
include/stop_slave.inc
|
|
TRUNCATE t1;
|
|
RESET MASTER;
|
|
SET GLOBAL gtid_slave_pos= "";
|
|
SET GLOBAL debug_dbug= @old_debug;
|
|
TRUNCATE t1;
|
|
RESET MASTER;
|
|
SET gtid_domain_id=10;
|
|
SET gtid_seq_no=50;
|
|
INSERT INTO t1 VALUES (1);
|
|
SET gtid_domain_id=11;
|
|
INSERT INTO t1 VALUES (11);
|
|
SET gtid_domain_id=10;
|
|
SET gtid_seq_no=100;
|
|
INSERT INTO t1 VALUES (2);
|
|
SET gtid_domain_id=11;
|
|
INSERT INTO t1 VALUES (12);
|
|
SET gtid_domain_id=10;
|
|
INSERT INTO t1 VALUES (3);
|
|
SET gtid_domain_id=11;
|
|
SET gtid_seq_no=200;
|
|
INSERT INTO t1 VALUES (13);
|
|
START SLAVE UNTIL master_gtid_pos="10-1-50,11-1-200";
|
|
include/wait_for_slave_to_stop.inc
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a
|
|
1
|
|
11
|
|
12
|
|
13
|
|
include/kill_binlog_dump_threads.inc
|
|
INSERT INTO t1 VALUES (20);
|
|
SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output";
|
|
SET GLOBAL debug_dbug="+d,gtid_force_reconnect_at_10_1_100";
|
|
include/start_slave.inc
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a
|
|
1
|
|
2
|
|
3
|
|
11
|
|
12
|
|
13
|
|
20
|
|
include/stop_slave.inc
|
|
TRUNCATE t1;
|
|
RESET MASTER;
|
|
SET GLOBAL gtid_slave_pos= "";
|
|
SET GLOBAL debug_dbug= @old_debug;
|
|
TRUNCATE t1;
|
|
RESET MASTER;
|
|
include/kill_binlog_dump_threads.inc
|
|
SET gtid_domain_id= 9;
|
|
SET gtid_seq_no= 50;
|
|
INSERT INTO t1 VALUES (1);
|
|
SET gtid_domain_id= 10;
|
|
INSERT INTO t1 VALUES (11);
|
|
SET gtid_domain_id= 9;
|
|
INSERT INTO t1 VALUES (2);
|
|
SET gtid_domain_id= 10;
|
|
SET gtid_seq_no= 100;
|
|
INSERT INTO t1 VALUES (12);
|
|
SET gtid_domain_id= 9;
|
|
INSERT INTO t1 VALUES (3);
|
|
SET gtid_domain_id= 10;
|
|
SET gtid_seq_no= 200;
|
|
INSERT INTO t1 VALUES (13);
|
|
SET gtid_domain_id= 10;
|
|
SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output";
|
|
SET GLOBAL debug_dbug="+d,gtid_force_reconnect_at_10_1_100";
|
|
START SLAVE UNTIL master_gtid_pos="9-1-50,10-1-200";
|
|
include/wait_for_slave_to_stop.inc
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a
|
|
1
|
|
11
|
|
12
|
|
13
|
|
SET GLOBAL debug_dbug= @old_debug;
|
|
INSERT INTO t1 VALUES (20);
|
|
include/start_slave.inc
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a
|
|
1
|
|
2
|
|
3
|
|
11
|
|
12
|
|
13
|
|
20
|
|
*** Test when slave IO thread needs to reconnect in the middle of an event group. ***
|
|
include/stop_slave.inc
|
|
TRUNCATE t1;
|
|
RESET MASTER;
|
|
SET GLOBAL gtid_slave_pos= "";
|
|
SET GLOBAL debug_dbug= @old_debug;
|
|
TRUNCATE t1;
|
|
RESET MASTER;
|
|
include/kill_binlog_dump_threads.inc
|
|
SET GLOBAL debug_dbug="+d,dummy_disable_default_dbug_output";
|
|
SET GLOBAL debug_dbug="+d,binlog_force_reconnect_after_22_events";
|
|
CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
|
|
INSERT INTO t2 VALUES (1);
|
|
BEGIN;
|
|
INSERT INTO t2 VALUES (10);
|
|
INSERT INTO t2 VALUES (11);
|
|
COMMIT;
|
|
BEGIN;
|
|
INSERT INTO t2 VALUES (20);
|
|
INSERT INTO t2 VALUES (21);
|
|
INSERT INTO t2 VALUES (22);
|
|
INSERT INTO t2 VALUES (23);
|
|
INSERT INTO t2 VALUES (24);
|
|
INSERT INTO t2 VALUES (25);
|
|
INSERT INTO t2 VALUES (26);
|
|
INSERT INTO t2 VALUES (27);
|
|
INSERT INTO t2 VALUES (28);
|
|
INSERT INTO t2 VALUES (29);
|
|
COMMIT;
|
|
include/start_slave.inc
|
|
SELECT * FROM t2 ORDER BY a;
|
|
a
|
|
1
|
|
10
|
|
11
|
|
20
|
|
21
|
|
22
|
|
23
|
|
24
|
|
25
|
|
26
|
|
27
|
|
28
|
|
29
|
|
SET GLOBAL debug_dbug= @old_debug;
|
|
DROP TABLE t1, t2;
|
|
include/rpl_end.inc
|