summaryrefslogtreecommitdiff
path: root/mysql-test/include/wait_for_slave_to_stop.inc
diff options
context:
space:
mode:
authorHe Zhenxing <zhenxing.he@sun.com>2008-12-26 16:20:29 +0800
committerHe Zhenxing <zhenxing.he@sun.com>2008-12-26 16:20:29 +0800
commitdbb7b40cda3963d64c6507e7a8eabb90667e357b (patch)
tree16987fb5c364acf60f08d9d0ef5edfacc2abea33 /mysql-test/include/wait_for_slave_to_stop.inc
parentf8fe9e0953f62534b0e2ff9c2b8b43870a66ceca (diff)
downloadmariadb-git-dbb7b40cda3963d64c6507e7a8eabb90667e357b.tar.gz
BUG#41708 rpl.rpl_flushlog_loop fails in pushbuild producing non-deterministic result file
If server has not been initialized as a slave (by CHANGE MASTER), then SHOW SLAVE STATUS will return an empty set, and caused the waiting for Slave_IO_running or Slave_SQL_running to 'No' fail. This patch fixed the problem by return immediately if slave is not initialized in include/wait_for_slave_*_to_stop.inc. mysql-test/include/wait_for_slave_io_to_stop.inc: Return immediately if slave is not initialized mysql-test/include/wait_for_slave_sql_to_stop.inc: Return immediately if slave is not initialized mysql-test/include/wait_for_slave_to_stop.inc: Return immediately if slave is not initialized
Diffstat (limited to 'mysql-test/include/wait_for_slave_to_stop.inc')
-rw-r--r--mysql-test/include/wait_for_slave_to_stop.inc22
1 files changed, 14 insertions, 8 deletions
diff --git a/mysql-test/include/wait_for_slave_to_stop.inc b/mysql-test/include/wait_for_slave_to_stop.inc
index 4973a27dc53..86604a15b95 100644
--- a/mysql-test/include/wait_for_slave_to_stop.inc
+++ b/mysql-test/include/wait_for_slave_to_stop.inc
@@ -11,14 +11,20 @@
# $slave_keep_connection. See wait_for_slave_param.inc for
# descriptions.
-let $slave_error_message= Failed while waiting for slave to stop;
+# if server has not used CHANGE MASTER to initiate slave, SHOW SLAVE
+# STATUS will return an empty set.
+let $_slave_io_running= query_get_value("SHOW SLAVE STATUS", Slave_IO_Running, 1);
+if (`SELECT '$_slave_io_running' != 'No such row'`)
+{
+ let $slave_error_message= Failed while waiting for slave to stop;
-let $slave_param= Slave_IO_Running;
-let $slave_param_value= No;
-source include/wait_for_slave_param.inc;
+ let $slave_param= Slave_IO_Running;
+ let $slave_param_value= No;
+ source include/wait_for_slave_param.inc;
-let $slave_param= Slave_SQL_Running;
-let $slave_param_value= No;
-source include/wait_for_slave_param.inc;
+ let $slave_param= Slave_SQL_Running;
+ let $slave_param_value= No;
+ source include/wait_for_slave_param.inc;
-let $slave_error_message= ;
+ let $slave_error_message= ;
+}