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