rpl_reset_slave.test 3.03 KB
Newer Older
1 2 3
# TBF - difference in row level logging
# Temp tables are not replicated in rbr, but it is still good to hit rbr with everthing

unknown's avatar
unknown committed
4 5 6 7
# See SHOW SLAVE STATUS displays well after RESET SLAVE (it should display the
# --master-* options from mysqld, as this is what is going to be used next time
# slave threads will be started). In bug 985, it displayed old values (of before
# RESET SLAVE).
8 9
# See if slave crashes when doing a CREATE TEMPORARY TABLE twice, separated by
# RESET SLAVE.
unknown's avatar
unknown committed
10

11
-- source include/master-slave.inc
unknown's avatar
unknown committed
12 13 14 15
connection master;
save_master_pos;
connection slave;
sync_with_master;
unknown's avatar
unknown committed
16
source include/show_slave_status2.inc;
unknown's avatar
unknown committed
17 18 19

stop slave;
change master to master_user='test';
unknown's avatar
unknown committed
20
source include/show_slave_status2.inc;
unknown's avatar
unknown committed
21 22

reset slave;
unknown's avatar
unknown committed
23
source include/show_slave_status2.inc;
unknown's avatar
unknown committed
24

25
change master to master_user='root';
unknown's avatar
unknown committed
26 27
start slave;
sync_with_master;
unknown's avatar
unknown committed
28
source include/show_slave_status2.inc;
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44

# test of crash with temp tables & RESET SLAVE
# (test to see if RESET SLAVE clears temp tables in memory and disk)
stop slave;
reset slave;
start slave;
connection master;
create temporary table t1 (a int);
save_master_pos;
connection slave;
sync_with_master;
stop slave;
reset slave;
start slave;
sync_with_master;
show status like 'slave_open_temp_tables';
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

#
#Bug#34654  	RESET SLAVE does not clear LAST_IO_Err* 
#

# clearing the status
stop slave;
reset slave;
let $last_io_errno= query_get_value(SHOW SLAVE STATUS, Last_IO_Errno, 1);
echo *** errno must be zero: $last_io_errno ***;

#
# verifying start slave resets Last_IO_Error and Last_IO_Errno.
#

change master to master_user='impossible_user_name';
start slave;
Luis Soares's avatar
Luis Soares committed
62
source include/wait_for_slave_io_error.inc;
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
let $last_io_errno= query_get_value(SHOW SLAVE STATUS, Last_IO_Errno, 1);
--disable_query_log
eval SELECT $last_io_errno > 0 as ONE;
--enable_query_log

source include/stop_slave.inc;
change master to master_user='root';
source include/start_slave.inc;
let $last_io_errno= query_get_value(SHOW SLAVE STATUS, Last_IO_Errno, 1);
let $last_io_error= query_get_value(SHOW SLAVE STATUS, Last_IO_Error, 1);
--echo *** last errno must be  zero: $last_io_errno ***
--echo *** last error must be blank: $last_io_error ***

#
# verifying reset slave resets Last_{IO,SQL}_Err{or,no}
#

source include/stop_slave.inc;
change master to master_user='impossible_user_name';
start slave;
Luis Soares's avatar
Luis Soares committed
83
source include/wait_for_slave_io_error.inc;
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
let $last_io_errno= query_get_value(SHOW SLAVE STATUS, Last_IO_Errno, 1);
--disable_query_log
eval SELECT $last_io_errno > 0 as ONE;
--enable_query_log

source include/stop_slave.inc;
reset slave;
let $last_io_errno= query_get_value(SHOW SLAVE STATUS, Last_IO_Errno, 1);
let $last_io_error= query_get_value(SHOW SLAVE STATUS, Last_IO_Error, 1);
let $last_sql_errno= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
let $last_sql_error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1);
--echo *** io  last errno must be  zero: $last_io_errno  ***
--echo *** io  last error must be blank: $last_io_error  ***
--echo *** sql last errno must be  zero: $last_sql_errno ***
--echo *** sql last error must be blank: $last_sql_error ***