GIF89a; Mini Shell

Mini Shell

Direktori : /proc/self/root/usr/share/mysql-test/suite/rpl/t/
Upload File :
Current File : //proc/self/root/usr/share/mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test

#
# BUG#45214 
# This test verifies if the slave I/O tread tries to reconnect to
# master when it tries to get the values of the UNIX_TIMESTAMP, SERVER_ID,
# COLLATION_SERVER and TIME_ZONE from master under network disconnection.
# The COLLATION_SERVER and TIME_ZONE are got only on master server version 4.
# So they can't be verified by test case here.
# Finish the following tests by calling its common test script:  
# extra/rpl_tests/rpl_get_master_version_and_clock.test. 

source include/master-slave.inc;
source include/have_debug.inc;
source include/have_debug_sync.inc;

#
# The test is not supposed to have any binglog affairs.
# Hence it's enough it to run only with one binlog format
#
source include/have_binlog_format_mixed.inc;

connection slave;

call mtr.add_suppression("Slave I/O: Master command COM_REGISTER_SLAVE failed: .*");
call mtr.add_suppression("Slave I/O: .* failed with error: Lost connection to MySQL server at 'reading initial communication packet'");
call mtr.add_suppression("Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; .*");
call mtr.add_suppression("Slave I/O thread .* register on master");

#Test case 1: Try to get the value of the UNIX_TIMESTAMP from master under network disconnection
let $debug_saved= `select @@global.debug`;

# set up two parameters to pass into extra/rpl_tests/rpl_get_master_version_and_clock
let $dbug_sync_point= 'debug_lock.before_get_UNIX_TIMESTAMP';
let $debug_sync_action= 'now SIGNAL signal.get_unix_timestamp';
source extra/rpl_tests/rpl_get_master_version_and_clock.test; 

#Test case 2: Try to get the value of the SERVER_ID from master under network disconnection
connection slave;

let $dbug_sync_point= 'debug_lock.before_get_SERVER_ID';
let $debug_sync_action= 'now SIGNAL signal.get_server_id';
source extra/rpl_tests/rpl_get_master_version_and_clock.test;

#Test case 3: Try to get the value of the MASTER_UUID from master under network disconnection
connection slave;

let $dbug_sync_point= 'dbug.before_get_MASTER_UUID';
let $debug_sync_action= 'now SIGNAL signal.get_master_uuid';
source extra/rpl_tests/rpl_get_master_version_and_clock.test;

#
# Note, due to # Bug#11765758 - 58754
# make sure the slave threads stand still (SQL thread in this context)
# while @@global.debug is being updated.
#
eval set global debug= '$debug_saved';

#Test case 4: This test checks that the slave I/O thread refuses to start
#if slave and master have the same server id.
connection slave;
reset master;
# replicate ourselves
source include/stop_slave.inc;
--replace_result $SLAVE_MYPORT SLAVE_PORT
eval change master to master_port=$SLAVE_MYPORT;
start slave;

--echo *** must be having the replicate-same-server-id IO thread error ***
let $slave_io_errno= 1593;
let $show_slave_io_error= 1;
source include/wait_for_slave_io_error.inc;

# cleanup

# is not really necessary but avoids mtr post-run env check warnings
SET DEBUG_SYNC= 'RESET';

# clear slave_io_error
--source include/stop_slave_sql.inc
RESET SLAVE;

# End of tests
--let $rpl_only_running_threads= 1
--source include/rpl_end.inc

./BlackJoker Mini Shell 1.0