From 7d1bc0a4f9a697f164d8bac0b038c01cb3429b68 Mon Sep 17 00:00:00 2001 From: Andrei Elkin Date: Fri, 18 Jul 2008 14:53:16 +0300 Subject: [PATCH] Bug #36818 rpl_server_id1 fails expecting slave has stopped the reason for the failure is that io thread passes through a sequence of state changes before it eventually got stuck at the expect running state as NO. It's unreasonble to wait for the running status while the whole idea of the test is to get to the IO thread error. Fixed with changing the waiting condition. mysql-test/suite/rpl/r/rpl_server_id1.result: results changed mysql-test/suite/rpl/t/disabled.def: re-enabling rpl_server_id1 mysql-test/suite/rpl/t/rpl_server_id1.test: deploying the exact waiting condition i.e to wait for the slave io error. --- mysql-test/suite/rpl/r/rpl_server_id1.result | 41 +------------------- mysql-test/suite/rpl/t/disabled.def | 2 +- mysql-test/suite/rpl/t/rpl_server_id1.test | 16 ++++---- 3 files changed, 10 insertions(+), 49 deletions(-) diff --git a/mysql-test/suite/rpl/r/rpl_server_id1.result b/mysql-test/suite/rpl/r/rpl_server_id1.result index 6a5c86d84bd..724f0071e07 100644 --- a/mysql-test/suite/rpl/r/rpl_server_id1.result +++ b/mysql-test/suite/rpl/r/rpl_server_id1.result @@ -9,42 +9,5 @@ stop slave; change master to master_port=SLAVE_PORT; start slave; *** must be having the replicate-same-server-id IO thread error *** -show slave status; -Slave_IO_State -Master_Host 127.0.0.1 -Master_User root -Master_Port SLAVE_PORT -Connect_Retry 1 -Master_Log_File -Read_Master_Log_Pos 4 -Relay_Log_File slave-relay-bin.000001 -Relay_Log_Pos 4 -Relay_Master_Log_File -Slave_IO_Running No -Slave_SQL_Running # -Replicate_Do_DB -Replicate_Ignore_DB -Replicate_Do_Table -Replicate_Ignore_Table # -Replicate_Wild_Do_Table -Replicate_Wild_Ignore_Table # -Last_Errno # -Last_Error # -Skip_Counter 0 -Exec_Master_Log_Pos 0 -Relay_Log_Space 106 -Until_Condition None -Until_Log_File -Until_Log_Pos 0 -Master_SSL_Allowed No -Master_SSL_CA_File -Master_SSL_CA_Path -Master_SSL_Cert -Master_SSL_Cipher -Master_SSL_Key -Seconds_Behind_Master NULL -Master_SSL_Verify_Server_Cert No -Last_IO_Errno 1593 -Last_IO_Error Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it). -Last_SQL_Errno # -Last_SQL_Error # +Slave_IO_Errno= 1593 +Slave_IO_Error= Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it). diff --git a/mysql-test/suite/rpl/t/disabled.def b/mysql-test/suite/rpl/t/disabled.def index a356d45c2cc..094919c81b5 100644 --- a/mysql-test/suite/rpl/t/disabled.def +++ b/mysql-test/suite/rpl/t/disabled.def @@ -12,4 +12,4 @@ rpl_redirect : Failure is sporadic and and the test is superfluous (mats) rpl_innodb_bug28430 : Failure on Solaris Bug #36793 -rpl_server_id1 : Bug #36818 rpl_server_id1 fails expecting slave has stopped (azundris) + diff --git a/mysql-test/suite/rpl/t/rpl_server_id1.test b/mysql-test/suite/rpl/t/rpl_server_id1.test index 5838fe98de4..a0467d93543 100644 --- a/mysql-test/suite/rpl/t/rpl_server_id1.test +++ b/mysql-test/suite/rpl/t/rpl_server_id1.test @@ -10,17 +10,15 @@ reset master; # replicate ourselves stop slave; -source include/wait_for_slave_to_stop.inc; --replace_result $SLAVE_MYPORT SLAVE_PORT eval change master to master_port=$SLAVE_MYPORT; start slave; +let $slave_param= Last_IO_Errno; +let $slave_param_value= 1593; +source include/wait_for_slave_param.inc; --echo *** must be having the replicate-same-server-id IO thread error *** - -source include/wait_for_slave_io_to_stop.inc; - ---replace_result $SLAVE_MYPORT SLAVE_PORT ---replace_column 12 # 16 # 19 # 20 # 18 # 37 # 38 # -query_vertical show slave status; - -# End of 4.1 tests +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 Slave_IO_Errno= $last_io_errno; +echo Slave_IO_Error= $last_io_error;