From 44c3524026cf4dde3fea9630a035adc6e8c822e9 Mon Sep 17 00:00:00 2001 From: "ramil/ram@mysql.com/ramil.myoffice.izhnet.ru" <> Date: Fri, 15 Jun 2007 13:53:36 +0500 Subject: [PATCH] Backport of mysql-test/include/wait_for_slave_io_to_stop.inc mysql-test/include/wait_for_slave_sql_to_stop.inc mysql-test/include/wait_for_slave_to_start.inc mysql-test/include/wait_for_slave_to_stop.inc from 5.1 --- .../include/wait_for_slave_io_to_stop.inc | 33 +++++++++++++++++ .../include/wait_for_slave_sql_to_stop.inc | 30 +++++++++++++++ .../include/wait_for_slave_to_start.inc | 35 ++++++++++++++++++ mysql-test/include/wait_for_slave_to_stop.inc | 37 +++++++++++++++++++ 4 files changed, 135 insertions(+) create mode 100644 mysql-test/include/wait_for_slave_io_to_stop.inc create mode 100644 mysql-test/include/wait_for_slave_sql_to_stop.inc create mode 100644 mysql-test/include/wait_for_slave_to_start.inc create mode 100644 mysql-test/include/wait_for_slave_to_stop.inc diff --git a/mysql-test/include/wait_for_slave_io_to_stop.inc b/mysql-test/include/wait_for_slave_io_to_stop.inc new file mode 100644 index 00000000000..004f8bbbd8d --- /dev/null +++ b/mysql-test/include/wait_for_slave_io_to_stop.inc @@ -0,0 +1,33 @@ +################################################### +#Author: Jeb +#Date: 2007-06-11 +#Purpose: used for io errors on the slave. If Slave gets an io +# error, the io trhead should stop +#Details: +# 1) Fill in and setup variables +# 2) loop through looking for +# sql threads to stop +# 3) If loops too long die. +#################################################### +connection slave; +let $my_show= SHOW SLAVE STATUS; +let $sql_running= Slave_IO_Running; +let $row_number= 1; +let $run= 1; +let $counter= 300; + +while ($run) +{ + let $io_result= query_get_value("SHOW SLAVE STATUS", Slave_IO_Running, $row_number); + if (`SELECT '$io_result' = 'No'`){ + let $run= 0; + } + sleep 0.1; + if (!$counter){ + --echo "Failed while waiting for slave IO thread to stop" + SHOW SLAVE STATUS; + exit; + } + dec $counter; +} + diff --git a/mysql-test/include/wait_for_slave_sql_to_stop.inc b/mysql-test/include/wait_for_slave_sql_to_stop.inc new file mode 100644 index 00000000000..ee765c81f6a --- /dev/null +++ b/mysql-test/include/wait_for_slave_sql_to_stop.inc @@ -0,0 +1,30 @@ +################################################### +#Author: Jeb +#Date: 2007-06-11 +#Purpose: used for SQL errors on the slave. If Slave gets a sql +# error, the SQL trhead should stop +#Details: +# 1) Fill in and setup variables +# 2) loop through looking for +# sql threads to stop +# 3) If loops too long die. +#################################################### +connection slave; +let $row_number= 1; +let $run= 1; +let $counter= 300; + +while ($run) +{ + let $sql_result= query_get_value("SHOW SLAVE STATUS", Slave_SQL_Running, $row_number); + if (`SELECT '$sql_result' = 'No'`){ + let $run= 0; + } + sleep 0.1; + if (!$counter){ + --echo "Failed while waiting for slave SQL thread to stop" + SHOW SLAVE STATUS; + exit; + } + dec $counter; +} diff --git a/mysql-test/include/wait_for_slave_to_start.inc b/mysql-test/include/wait_for_slave_to_start.inc new file mode 100644 index 00000000000..84e1d646efe --- /dev/null +++ b/mysql-test/include/wait_for_slave_to_start.inc @@ -0,0 +1,35 @@ +################################################### +#Author: Jeb +#Date: 2007-06-11 +#Purpose: To wait a brief time for slave to start +#Details: +# 1) Fill in and setup variables +# 2) loop through looking for both +# io and sql threads to start +# 3) If loops too long die. +#################################################### +connection slave; +let $row_number= 1; +let $run= 1; +let $counter= 300; + +while ($run) +{ + let $io_result= query_get_value("SHOW SLAVE STATUS", Slave_IO_Running, $row_number); + if (`SELECT '$io_result' = 'Yes'`){ + + let $sql_result= query_get_value("SHOW SLAVE STATUS", Slave_SQL_Running, $row_number); + if (`SELECT '$sql_result' = 'Yes'`){ + let $run= 0; + } + } + sleep 0.1; + if (!$counter){ + --echo "Failed while waiting for slave to start" + SHOW SLAVE STATUS; + exit; + } + dec $counter; +} + + diff --git a/mysql-test/include/wait_for_slave_to_stop.inc b/mysql-test/include/wait_for_slave_to_stop.inc new file mode 100644 index 00000000000..13acbecb835 --- /dev/null +++ b/mysql-test/include/wait_for_slave_to_stop.inc @@ -0,0 +1,37 @@ +################################################### +#Author: Jeb +#Date: 2007-06-11 +#Purpose: To replace the mysqltest.c executable +# wait_for_slave_to_stop function and +# return this to the test language. +#Details: +# 1) Fill in and setup variables +# 2) loop through looking for both +# io and sql threads to stop +# 3) If loops too long die. +#################################################### +connection slave; +let $row_number= 1; +let $run= 1; +let $counter= 300; + +while ($run) +{ + let $io_result= query_get_value("SHOW SLAVE STATUS", Slave_IO_Running, $row_number); + if (`SELECT '$io_result' = 'No'`){ + + let $sql_result= query_get_value("SHOW SLAVE STATUS", Slave_SQL_Running, $row_number); + if (`SELECT '$sql_result' = 'No'`){ + let $run= 0; + } + } + sleep 0.1; + if (!$counter){ + --echo "Failed while waiting for slave to stop" + SHOW SLAVE STATUS; + exit; + } + dec $counter; +} + +