mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
96 lines
2.4 KiB
Text
96 lines
2.4 KiB
Text
# Test of options max_binlog_size and max_relay_log_size and
|
|
# how they act (if max_relay_log_size == 0, use max_binlog_size
|
|
# for relay logs too).
|
|
# Test of manual relay log rotation with FLUSH LOGS.
|
|
|
|
source include/master-slave.inc;
|
|
connection slave;
|
|
stop slave;
|
|
connection master;
|
|
# Generate a big enough master's binlog to cause relay log rotations
|
|
create table t1 (a int);
|
|
let $1=800;
|
|
disable_query_log;
|
|
begin;
|
|
while ($1)
|
|
{
|
|
# eval means expand $ expressions
|
|
eval insert into t1 values( $1 );
|
|
dec $1;
|
|
}
|
|
enable_query_log;
|
|
drop table t1;
|
|
save_master_pos;
|
|
connection slave;
|
|
reset slave;
|
|
set global max_binlog_size=8192;
|
|
set global max_relay_log_size=8192-1; # mapped to 4096
|
|
select @@global.max_relay_log_size;
|
|
start slave;
|
|
sync_with_master;
|
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
|
--replace_column 1 # 8 # 9 # 23 # 33 #
|
|
show slave status;
|
|
stop slave;
|
|
reset slave;
|
|
set global max_relay_log_size=(5*4096);
|
|
select @@global.max_relay_log_size;
|
|
start slave;
|
|
sync_with_master;
|
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
|
--replace_column 1 # 8 # 9 # 23 # 33 #
|
|
show slave status;
|
|
stop slave;
|
|
reset slave;
|
|
set global max_relay_log_size=0;
|
|
select @@global.max_relay_log_size;
|
|
start slave;
|
|
sync_with_master;
|
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
|
--replace_column 1 # 8 # 9 # 23 # 33 #
|
|
show slave status;
|
|
|
|
# Tests below are mainly to ensure that we have not coded with wrong assumptions
|
|
|
|
stop slave;
|
|
reset slave;
|
|
# test of relay log rotation when the slave is stopped
|
|
# (to make sure it does not crash).
|
|
flush logs;
|
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
|
--replace_column 1 # 8 # 9 # 23 # 33 #
|
|
show slave status;
|
|
|
|
reset slave;
|
|
start slave;
|
|
sync_with_master;
|
|
# test of relay log rotation when the slave is started
|
|
flush logs;
|
|
# We have now easy way to be sure that the SQL thread has now deleted the
|
|
# log we just closed. But a trick to achieve this is do an update on the master.
|
|
connection master;
|
|
create table t1 (a int);
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
|
--replace_column 1 # 8 # 9 # 23 # 33 #
|
|
show slave status;
|
|
# one more rotation, to be sure Relay_Log_Space is correctly updated
|
|
flush logs;
|
|
connection master;
|
|
drop table t1;
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
|
--replace_column 1 # 8 # 9 # 23 # 33 #
|
|
show slave status;
|
|
|
|
connection master;
|
|
# test that the absence of relay logs does not make a master crash
|
|
flush logs;
|
|
show master status;
|
|
|
|
# End of 4.1 tests
|
|
#
|