summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/multi_source/mdev-9544.test
blob: fd89bdfa744ec8a9adfa973e7e1bf3038edfce97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
--source include/not_embedded.inc
--source include/have_innodb.inc
--source include/have_debug.inc

--connect (server_1,127.0.0.1,root,,,$SERVER_MYPORT_1)
--connect (server_2,127.0.0.1,root,,,$SERVER_MYPORT_2)
--connect (server_3,127.0.0.1,root,,,$SERVER_MYPORT_3)
--connect (server_4,127.0.0.1,root,,,$SERVER_MYPORT_4)

--connection server_1
create database a;
use a;
create table t1(a int);
insert into t1 values(1);
create table t2(a int);
insert into t2 values(1);
--save_master_pos

--connection server_2
create database b;
use b;
create table t1(a int);
insert into t1 values(1);
create table t2(a int);
insert into t2 values(1);
--save_master_pos

--connection server_3
create database c;
use c;
create table t1(a int);
insert into t1 values(1);
create table t2(a int);
insert into t2 values(1);
--save_master_pos

--connection server_4
--disable_warnings
--replace_result $SERVER_MYPORT_1 MYPORT_1
eval change master 'm1' to master_port=$SERVER_MYPORT_1 , master_host='127.0.0.1', master_user='root', master_use_gtid=no;
--replace_result $SERVER_MYPORT_2 MYPORT_2
eval change master 'm2' to master_port=$SERVER_MYPORT_2 , master_host='127.0.0.1', master_user='root', master_use_gtid=no;
--replace_result $SERVER_MYPORT_3 MYPORT_3
eval change master  to master_port=$SERVER_MYPORT_3 , master_host='127.0.0.1', master_user='root', master_use_gtid=no;
start all slaves;
set default_master_connection = 'm1';
--source include/wait_for_slave_to_start.inc
set default_master_connection = 'm2';
--source include/wait_for_slave_to_start.inc
set default_master_connection = '';
--source include/wait_for_slave_to_start.inc

--enable_warnings
--sync_with_master 0,'m1'
--sync_with_master 0,'m2'
--sync_with_master 0,''
use a;
show tables;
use b;
show tables;
use c;
show tables;
--echo #TEST
SET default_master_connection = "m1";
--let $old_m1 = query_get_value("show relaylog events;", "Log_name",1)
SET default_master_connection = "m2";
--let $old_m2 = query_get_value("show relaylog events;", "Log_name",1)
SET default_master_connection = "";
--let $old__ = query_get_value("show relaylog events;", "Log_name",1)
flush logs;
--sleep 2
--let $MYSQLD_DATADIR = `select @@datadir`
SET default_master_connection = "m1";
--let $new_m1 = query_get_value("show relaylog events;", "Log_name",1)
--if ($new_m1 != $old_m1) {
	--echo #log Rotated
    --exec ls $MYSQLD_DATADIR | grep "mysqld-relay-bin\."
}
SET default_master_connection = "m2";
--let $new_m2 = query_get_value("show relaylog events;", "Log_name",1)
--if ($new_m2 != $old_m2) {
	--echo #log Rotated
    --exec ls $MYSQLD_DATADIR | grep "mysqld-relay-bin-m1"
}
SET default_master_connection = "";
--let $new__ = query_get_value("show relaylog events;", "Log_name",1)
--if ($new__ != $old__) {
	--echo #log Rotated
    --exec ls $MYSQLD_DATADIR | grep "mysqld-relay-bin-m2"
}

--echo #CleanUp
--connection server_1
drop database a;
--save_master_pos

--connection server_2
drop database b;
--save_master_pos

--connection server_3
drop database c;
--save_master_pos

--connection server_4
--sync_with_master 0,'m1'
--sync_with_master 0,'m2'
--sync_with_master 0,''
stop all slaves;
SET default_master_connection = "m1";
--source include/wait_for_slave_to_stop.inc
SET default_master_connection = "m2";
--source include/wait_for_slave_to_stop.inc
SET default_master_connection = "";
--source include/wait_for_slave_to_stop.inc

# Reset for check-testcase
change master to master_use_gtid=slave_pos;
change master 'm1' to master_use_gtid=slave_pos;
change master 'm2' to master_use_gtid=slave_pos;