From d2f858aba3a9414d9bc247fccb13bc85f8799af0 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 15 Jun 2007 16:09:28 +0500 Subject: Fix for bug #28144: "Slave_IO_Running" differs in replication tests Problem: show slave status may return different Slave_IO_Running values running some tests. Fix: wait for a certain slave state if needed to get tests more predictable. mysql-test/r/rpl_log_pos.result: Fix for bug #28144: "Slave_IO_Running" differs in replication tests - test result adjusted. mysql-test/r/rpl_ssl.result: Fix for bug #28144: "Slave_IO_Running" differs in replication tests - test result adjusted. mysql-test/t/rpl_log_pos.test: Fix for bug #28144: "Slave_IO_Running" differs in replication tests - test has been rewritten to get certain slave state, now we use wait_for_slave_param.inc to ensure we get proper IO/SQL slave's threads states. mysql-test/t/rpl_ssl.test: Fix for bug #28144: "Slave_IO_Running" differs in replication tests - wait_for_slave_to_start.inc used to get certain slave states in order to be more predictable. mysql-test/include/wait_for_slave_param.inc: New BitKeeper file ``mysql-test/include/wait_for_slave_param.inc'' allow to wait until SHOW SLAVE STATUS has returned a spicified value. --- mysql-test/include/wait_for_slave_param.inc | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 mysql-test/include/wait_for_slave_param.inc (limited to 'mysql-test/include') diff --git a/mysql-test/include/wait_for_slave_param.inc b/mysql-test/include/wait_for_slave_param.inc new file mode 100644 index 00000000000..fed97195aba --- /dev/null +++ b/mysql-test/include/wait_for_slave_param.inc @@ -0,0 +1,26 @@ +# include/wait_for_slave_param.inc +# +# SUMMARY +# +# Waits until SHOW SLAVE STATUS has returned a spicified value. +# +# USAGE +# +# let $slave_param= Slave_SQL_Running; +# let $slave_param_value= No; +# --source include/slave_wait_param.inc + +let $slave_wait_param_counter= 300; +let $slave_value= query_get_value("SHOW SLAVE STATUS", $slave_param, 1); +while (`select "$slave_value" != "$slave_param_value"`) +{ + dec $slave_wait_param_counter; + if (!$slave_wait_param_counter) + { + --echo ERROR: failed while waiting for slave parameter $slave_param: $slave_param_value + query_vertical show slave status; + exit; + } + sleep 0.1; + let $slave_value= query_get_value("SHOW SLAVE STATUS", $slave_param, 1); +} -- cgit v1.2.1