1--source include/have_ndb.inc
2--source suite/ndb_rpl/ndb_master-slave.inc
3
4connection slave;
5
6show global variables like 'ndb_slave_conflict_role';
7
8#show slave status;
9
10--let $status_items=Slave_SQL_Running
11--source include/show_slave_status.inc
12stop slave sql_thread;
13--source include/show_slave_status.inc
14
15--echo Show set-to-same state is ok
16set global ndb_slave_conflict_role = NONE;
17
18--echo Now transition through all status, including set-to-self
19set global ndb_slave_conflict_role = "PRIMARY";
20show global variables like 'ndb_slave_conflict_role';
21set global ndb_slave_conflict_role = "PRIMARY";
22set global ndb_slave_conflict_role = "SECONDARY";
23show global variables like 'ndb_slave_conflict_role';
24set global ndb_slave_conflict_role = "SECONDARY";
25set global ndb_slave_conflict_role = "NONE";
26set global ndb_slave_conflict_role = "SECONDARY";
27set global ndb_slave_conflict_role = "PRIMARY";
28set global ndb_slave_conflict_role = "NONE";
29set global ndb_slave_conflict_role = "PASS";
30show global variables like 'ndb_slave_conflict_role';
31set global ndb_slave_conflict_role = "PASS";
32set global ndb_slave_conflict_role = "NONE";
33
34
35--echo Now test illegal transitions
36set global ndb_slave_conflict_role = "PRIMARY";
37--error 1220
38set global ndb_slave_conflict_role = "PASS";
39show global variables like 'ndb_slave_conflict_role';
40
41
42set global ndb_slave_conflict_role = "SECONDARY";
43--error 1220
44set global ndb_slave_conflict_role = "PASS";
45show global variables like 'ndb_slave_conflict_role';
46
47
48set global ndb_slave_conflict_role = "NONE";
49set global ndb_slave_conflict_role = "PASS";
50--error 1220
51set global ndb_slave_conflict_role = "PRIMARY";
52show global variables like 'ndb_slave_conflict_role';
53
54--error 1220
55set global ndb_slave_conflict_role = "SECONDARY";
56show global variables like 'ndb_slave_conflict_role';
57
58set global ndb_slave_conflict_role = "NONE";
59
60--echo Now test transitions not possible due to
61--echo Slave SQL thread running
62
63start slave sql_thread;
64--source include/show_slave_status.inc
65
66--echo From NONE
67set global ndb_slave_conflict_role = "NONE";
68--error 1220
69set global ndb_slave_conflict_role = "PRIMARY";
70show global variables like 'ndb_slave_conflict_role';
71
72--error 1220
73set global ndb_slave_conflict_role = "SECONDARY";
74show global variables like 'ndb_slave_conflict_role';
75
76--error 1220
77set global ndb_slave_conflict_role = "PASS";
78show global variables like 'ndb_slave_conflict_role';
79
80stop slave sql_thread;
81
82--echo From PRIMARY
83set global ndb_slave_conflict_role = "PRIMARY";
84
85start slave sql_thread;
86
87set global ndb_slave_conflict_role = "PRIMARY";
88--error 1220
89set global ndb_slave_conflict_role = "SECONDARY";
90show global variables like 'ndb_slave_conflict_role';
91--error 1220
92set global ndb_slave_conflict_role = "NONE";
93show global variables like 'ndb_slave_conflict_role';
94--error 1220
95set global ndb_slave_conflict_role = "PASS";
96show global variables like 'ndb_slave_conflict_role';
97
98stop slave sql_thread;
99
100--echo From SECONDARY
101set global ndb_slave_conflict_role = "SECONDARY";
102
103start slave sql_thread;
104
105set global ndb_slave_conflict_role = "SECONDARY";
106--error 1220
107set global ndb_slave_conflict_role = "PRIMARY";
108show global variables like 'ndb_slave_conflict_role';
109--error 1220
110set global ndb_slave_conflict_role = "NONE";
111show global variables like 'ndb_slave_conflict_role';
112--error 1220
113set global ndb_slave_conflict_role = "PASS";
114show global variables like 'ndb_slave_conflict_role';
115
116stop slave sql_thread;
117
118--echo From PASS
119set global ndb_slave_conflict_role = "NONE";
120set global ndb_slave_conflict_role = "PASS";
121
122start slave sql_thread;
123
124set global ndb_slave_conflict_role = "PASS";
125--error 1220
126set global ndb_slave_conflict_role = "PRIMARY";
127show global variables like 'ndb_slave_conflict_role';
128--error 1220
129set global ndb_slave_conflict_role = "SECONDARY";
130show global variables like 'ndb_slave_conflict_role';
131--error 1220
132set global ndb_slave_conflict_role = "NONE";
133show global variables like 'ndb_slave_conflict_role';
134
135stop slave sql_thread;
136
137set global ndb_slave_conflict_role = "NONE";
138
139--echo Test some aliases for role names
140
141set global ndb_slave_conflict_role = PR;
142show global variables like 'ndb_slave_conflict_role';
143
144set global ndb_slave_conflict_role = S;
145show global variables like 'ndb_slave_conflict_role';
146
147set global ndb_slave_conflict_role = N;
148show global variables like 'ndb_slave_conflict_role';
149
150set global ndb_slave_conflict_role = PA;
151show global variables like 'ndb_slave_conflict_role';
152
153set global ndb_slave_conflict_role = 0;
154show global variables like 'ndb_slave_conflict_role';
155
156set global ndb_slave_conflict_role = 2;
157show global variables like 'ndb_slave_conflict_role';
158
159set global ndb_slave_conflict_role = 1;
160show global variables like 'ndb_slave_conflict_role';
161
162set global ndb_slave_conflict_role = 0;
163show global variables like 'ndb_slave_conflict_role';
164
165set global ndb_slave_conflict_role = 3;
166show global variables like 'ndb_slave_conflict_role';
167
168set global ndb_slave_conflict_role = NON;
169
170start slave sql_thread;
171
172--source include/rpl_end.inc
173