MINI MINI MANI MO
# The include statement below is a temp one for tests that are yet to
#be ported to run with InnoDB,
#but needs to be kept for tests that would need MyISAM in future.
--source include/force_myisam_default.inc
--source include/have_ndb.inc
--source include/have_binlog_format_mixed_or_row.inc
--source suite/ndb_rpl/ndb_master-slave.inc
--connection master
create table t1(pk int not null primary key, i int) engine = ndb;
#
# insert more records into tables
#
let $1=1000;
disable_query_log;
while ($1)
{
eval insert into t1 values($1, $1);
dec $1;
}
enable_query_log;
--sync_slave_with_master
# connect to slave and ensure data is there.
--connection slave
select count(*) from t1;
--connection master
--echo Restarting mysqld
# Hack to allow using restart_mysqld.inc from rpl test
let $allow_rpl_inited=1;
# Ignore the warning generated by ndbcluster's binlog thread
# when mysqld is restarted
--disable_query_log ONCE
call mtr.add_suppression("mysqld startup An incident event has been written");
let $mysqld_name=mysqld.1.1;
--source include/restart_mysqld.inc
# When mysqld starts up again it will:
# - rotate the binary log(thus switching to second log)
# - ndbcluster binlog injector will write the special incident
# event telling that it might not have injected all NDB changes
# i.e LOST_EVENTS, this also causes the binlog to be rotated
# again(thus switching to third log)
#
# Show that the second log contains the LOST_EVENT incident
# and that the binlog has been rotated(ie. flush, rotate and purge).
let $binlog_file=master-bin.000002;
--source include/show_binlog_events.inc
--disable_result_log
--connection slave
# Get slave to try reconnection now. Ignore errors if already started.
start slave;
--connection master
--enable_result_log
--echo Sync Slave with master
--sync_slave_with_master
--connection slave
--echo Show that Slave has not stopped (has skipped GAP)
let $status_items= Slave_IO_Running, Slave_SQL_Running, Last_Errno, Last_Error;
-- source include/show_slave_status.inc
--echo Show that replication can continue
--connection master
insert into t1 values (1001, 1001);
--sync_slave_with_master
--connection slave
select count(*) from t1;
--connection master
drop table t1;
--sync_slave_with_master
# NOTE: rpl_end.inc doesnt seem to work after having used restart_mysqld.inc
# or something like that...probably needs investigation
--connection slave
--source include/stop_slave.inc
OHA YOOOO