1# The include statement below is a temp one for tests that are yet to 2#be ported to run with InnoDB, 3#but needs to be kept for tests that would need MyISAM in future. 4--source include/force_myisam_default.inc 5 6############################################################################### 7# Description: Checks if DDL and DML statements are correctly logged by 8# servers and slave servers according to log-slave-updates, 9# and independent of their settings on the particular MySQLD 10# acting in the slave role 11# 12# Testing scenario: Cluster 1 replicates to Cluster 2 13# Key : BL = log-bin, LSU = log-slave-updates 14# 15# BL BL 16# cluster 1 [ srv_master srv_master1 srv_master2 ] 17# |----------+------------ 18# v v v 19# cluster 2 [ srv_slave srv_slave1 srv_slave2 ] 20# BL BL LSU 21# 22# - First replicate via srv_slave and check all nodes' Binlog contents 23# - Second replicate via srv_slave1 and check all nodes' Binlog contents 24# - Third replicate via srv_slave2 and check all nodes' Binlog contents 25# 26# Makes use of suite/ndb_rpl/t/ndb_rpl_multi_binlog_update.inc 27# Originally motivated by bug#45756 28############################################################################### 29 30--source include/have_ndb.inc 31--source include/have_log_bin.inc 32 33############################################################################### 34# Configuring Environment 35############################################################################### 36 37# setup _no_ replication to start with, but with all 6 servers included 38--let $rpl_topology= none 39--let $rpl_server_count= 6 40--let $rpl_skip_reset_master_and_slave=1 41--source include/rpl_init.inc 42--let $rpl_skip_reset_master_and_slave=0 43 44--echo *** Configuring connections *** 45--let $rpl_connection_name= srv_master 46--let $rpl_server_number= 1 47--source include/rpl_connect.inc 48 49--let $rpl_connection_name= srv_master1 50--let $rpl_server_number= 2 51--source include/rpl_connect.inc 52 53--let $rpl_connection_name= srv_master2 54--let $rpl_server_number= 3 55--source include/rpl_connect.inc 56 57--let $rpl_connection_name= srv_slave 58--let $rpl_server_number= 4 59--source include/rpl_connect.inc 60 61--let $rpl_connection_name= srv_slave1 62--let $rpl_server_number= 5 63--source include/rpl_connect.inc 64 65--let $rpl_connection_name= srv_slave2 66--let $rpl_server_number= 6 67--source include/rpl_connect.inc 68 69--echo *** Waiting for each cluster to startup *** 70 71# Check schema op binlogging enabled between servers on cluster1 72--let $source_server=srv_master 73--let $dest_server=srv_master2 74source suite/ndb_rpl/t/wait_schema_logging.inc; 75 76--let $source_server=srv_master1 77--let $dest_server=srv_master 78source suite/ndb_rpl/t/wait_schema_logging.inc; 79 80--let $source_server=srv_master1 81--let $dest_server=srv_master2 82source suite/ndb_rpl/t/wait_schema_logging.inc; 83 84--let $source_server=srv_master2 85--let $dest_server=srv_master 86source suite/ndb_rpl/t/wait_schema_logging.inc; 87 88# Check schema op binlogging enabled between servers on cluster2 89--let $source_server=srv_slave 90--let $dest_server=srv_slave1 91source suite/ndb_rpl/t/wait_schema_logging.inc; 92 93--let $source_server=srv_slave 94--let $dest_server=srv_slave2 95source suite/ndb_rpl/t/wait_schema_logging.inc; 96 97--let $source_server=srv_slave1 98--let $dest_server=srv_slave2 99source suite/ndb_rpl/t/wait_schema_logging.inc; 100 101--let $source_server=srv_slave2 102--let $dest_server=srv_slave1 103source suite/ndb_rpl/t/wait_schema_logging.inc; 104 105# Reset state of all Binlogging nodes 106--disable_query_log 107connection srv_master; 108--disable_warnings 109RESET MASTER; 110--enable_warnings 111 112connection srv_master2; 113--disable_warnings 114RESET MASTER; 115--enable_warnings 116 117connection srv_slave1; 118--disable_warnings 119RESET MASTER; 120--enable_warnings 121 122connection srv_slave2; 123--disable_warnings 124RESET MASTER; 125--enable_warnings 126--enable_query_log 127 128 129 130--echo *** Configuring replication via Slave *** 131--let $rpl_connection_name= srv_slave 132--source include/rpl_connection.inc 133 134--let $rpl_topology= 1->4 135--source include/rpl_change_topology.inc 136 137--source include/start_slave.inc 138 139# Run the test script 140--let $which_slave=srv_slave 141--source suite/ndb_rpl/t/ndb_rpl_multi_binlog_update.inc 142 143--source include/stop_slave.inc 144 145# Reset state of all Binlogging nodes 146--disable_query_log 147connection srv_master; 148--disable_warnings 149RESET MASTER; 150--enable_warnings 151 152connection srv_master2; 153--disable_warnings 154RESET MASTER; 155--enable_warnings 156 157connection srv_slave1; 158--disable_warnings 159RESET MASTER; 160--enable_warnings 161 162connection srv_slave2; 163--disable_warnings 164RESET MASTER; 165--enable_warnings 166--enable_query_log 167 168 169 170--echo *** Configuring replication via Slave1 *** 171--let $rpl_connection_name= srv_slave1 172--source include/rpl_connection.inc 173 174--let $rpl_topology= 1->4,1->5 175--source include/rpl_change_topology.inc 176 177--source include/start_slave.inc 178 179# Run the test script 180--let $which_slave=srv_slave1 181--source suite/ndb_rpl/t/ndb_rpl_multi_binlog_update.inc 182 183--source include/stop_slave.inc 184 185# Reset state of all Binlogging nodes 186--disable_query_log 187connection srv_master; 188--disable_warnings 189RESET MASTER; 190--enable_warnings 191 192connection srv_master2; 193--disable_warnings 194RESET MASTER; 195--enable_warnings 196 197connection srv_slave1; 198--disable_warnings 199RESET MASTER; 200--enable_warnings 201 202connection srv_slave2; 203--disable_warnings 204RESET MASTER; 205--enable_warnings 206--enable_query_log 207 208 209 210--echo *** Configuring replication via Slave2 *** 211--let $rpl_connection_name= srv_slave2 212--source include/rpl_connection.inc 213 214--let $rpl_topology= 1->4,1->5,1->6 215--source include/rpl_change_topology.inc 216 217--source include/start_slave.inc 218 219# Run the test script 220--let $which_slave=srv_slave2 221--source suite/ndb_rpl/t/ndb_rpl_multi_binlog_update.inc 222 223--source include/stop_slave.inc 224 225 226 227# Cleanup and reset replication settings to how 228# they where when test started 229--let $rpl_topology= none 230--source include/rpl_change_topology.inc 231