1--source include/master-slave.inc 2 3# 4# Test for domain-id based filter on slave restart in GTID-mode. 5# 6 7 8connection slave; 9 10source include/stop_slave.inc; 11let $do_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1); 12let $ignore_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1); 13--echo DO_DOMAIN_IDS (BEFORE) : $do_domain_ids_before 14--echo IGNORE_DOMAIN_IDS (BEFORE) : $ignore_domain_ids_before 15 16# Ignore events belonging to "domain_id 1". 17CHANGE MASTER TO IGNORE_DOMAIN_IDS=(1), MASTER_USE_GTID=slave_pos; 18source include/start_slave.inc; 19 20let $do_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1); 21let $ignore_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1); 22--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after 23--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after 24 25connection master; 26SET @@session.gtid_domain_id= 0; 27CREATE TABLE t1(i INT); 28CREATE TABLE t2(i INT); 29 30INSERT INTO t1 VALUES(1); 31SELECT * FROM t1; 32 33SET @@session.gtid_domain_id= 1; 34# the following will get filtered out. 35INSERT INTO t2 VALUES(1); 36SELECT * FROM t2; 37 38sync_slave_with_master; 39 40connection slave; 41SELECT * FROM t1; 42SELECT * FROM t2; 43 44# restart the slave 45--let $rpl_server_number= 2 46--source include/rpl_restart_server.inc 47 48# Replicate_Do_Domain_Ids/Replicate_Ignore_Domain_Ids should reinitialize 49# properly on restart. 50connection slave; 51let $do_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1); 52let $ignore_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1); 53--echo DO_DOMAIN_IDS (AFTER RESTART) : $do_domain_ids_after 54--echo IGNORE_DOMAIN_IDS (AFTER RESTART) : $ignore_domain_ids_after 55 56# Now, lets clear IGNORE_DOMAIN_IDS. 57CHANGE MASTER TO IGNORE_DOMAIN_IDS=(); 58--source include/start_slave.inc 59 60let $do_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1); 61let $ignore_domain_ids_after= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Domain_Ids, 1); 62--echo DO_DOMAIN_IDS (AFTER) : $do_domain_ids_after 63--echo IGNORE_DOMAIN_IDS (AFTER) : $ignore_domain_ids_after 64 65SELECT * FROM t1; 66SELECT * FROM t2; 67 68connection master; 69SET @@session.gtid_domain_id= 0; 70DROP TABLE t1, t2; 71sync_slave_with_master; 72 73--source include/rpl_end.inc 74