summaryrefslogtreecommitdiff
path: root/mysql-test/suite/rpl/t/rpl_start_alter_7.test
blob: 7225c075ea74bb1a15e8b341b97c49be6a22d39d (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
#
# Start Alter with Parallel Replication, With 2 sources
# 2 domain id (From 2 sources)
# |Concurrent alters| >= |Parallel workers on slave|
#  |x| denotes number of entities it encloses
#
--source include/have_log_bin.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)

--connection server_1
--let $binlog_alter_two_phase= `select @@binlog_alter_two_phase`
set global binlog_alter_two_phase = ON;
set binlog_alter_two_phase = ON;

--connection server_2
stop slave;
set global binlog_alter_two_phase=true;

--connection server_3
--let $gtid_strict_mode= `select @@gtid_strict_mode`
--let $slave_parallel_threads= `select @@slave_parallel_threads`
--let $slave_parallel_mode= `select @@slave_parallel_mode`
SET GLOBAL slave_parallel_threads=8;
set global slave_parallel_mode=optimistic;
set global gtid_strict_mode=1;


--disable_warnings
--disable_query_log
--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=slave_pos;
--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=slave_pos;
--enable_query_log
--enable_warnings

--connection server_1
set gtid_domain_id= 11;
create database s1;
use s1;
--let $domain_1=11
--let $domain_2=11
--let $M_port= $SERVER_MYPORT_1
--let $S_port= $SERVER_MYPORT_3
--let $sync_slave=0
--let $db_name=s1
--source include/start_alter_include.inc
--connection server_1
drop database s1;
select @@gtid_binlog_pos;
--let $master_pos_1= `SELECT @@gtid_binlog_pos`

--connection server_2
set gtid_domain_id= 12;
create database s2;
use s2;
--let $domain_1=12
--let $domain_2=12
--let $M_port= $SERVER_MYPORT_2
--let $S_port= $SERVER_MYPORT_3
--let $sync_slave=0
--let $db_name=s2
--source include/start_alter_include.inc
--connection server_2
drop database s2;
select @@gtid_binlog_pos;
--let $master_pos_2= `SELECT @@gtid_binlog_pos`

--connection server_3
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 = 'm1';
--let $master_pos= $master_pos_1
--source include/sync_with_master_gtid.inc
set default_master_connection = 'm2';
--let $master_pos= $master_pos_2
--source include/sync_with_master_gtid.inc

--echo # cleanup
--connection server_3
set default_master_connection = 'm1';
--source include/stop_slave.inc
set default_master_connection = 'm2';
--source include/stop_slave.inc
--eval set global slave_parallel_threads = $slave_parallel_threads;
--eval set global slave_parallel_mode = $slave_parallel_mode;
--eval set global gtid_strict_mode = $gtid_strict_mode;
set global gtid_domain_id= 0;
reset master;
RESET SLAVE ALL;
SET GLOBAL gtid_slave_pos= '';

--connection server_1
--eval set global binlog_alter_two_phase=$binlog_alter_two_phase;
set global gtid_domain_id= 0;
reset master;
--connection server_2
set global gtid_domain_id= 0;
--eval set global binlog_alter_two_phase=$binlog_alter_two_phase
reset master;

--disconnect server_1
--disconnect server_2
--disconnect server_3