mariadb/mysql-test/include/wait_for_slave_to_start.inc
unknown db55082aa0 Fix for bug #28772: rpl_row_until fails in pushbuild
Problem: we use 'sleep 2; wait_for_slave_to_stop;' to reach some slave's states
which is buggy, wasteful of time, platform dependant etc.
Fix: use include/wait_for_slave_***.inc's where it's possible instead.


mysql-test/include/wait_for_slave_io_to_stop.inc:
  Fix for bug #28772: rpl_row_until fails in pushbuild
    - changed to use query_vertical so that it is easier to read the output.
mysql-test/include/wait_for_slave_sql_to_stop.inc:
  Fix for bug #28772: rpl_row_until fails in pushbuild
    - changed to use query_vertical so that it is easier to read the output.
mysql-test/include/wait_for_slave_to_start.inc:
  Fix for bug #28772: rpl_row_until fails in pushbuild
    - changed to use query_vertical so that it is easier to read the output.
mysql-test/include/wait_for_slave_to_stop.inc:
  Fix for bug #28772: rpl_row_until fails in pushbuild
    - changed to use query_vertical so that it is easier to read the output.
mysql-test/t/rpl_row_until.test:
  Fix for bug #28772: rpl_row_until fails in pushbuild
    - 'sleep 2; wait_for_slave_to_stop;' replaced with sourcing
      include/wait_for_slave_sql_to_stop.inc to be more predictable.
mysql-test/t/rpl_stm_until.test:
  Fix for bug #28772: rpl_row_until fails in pushbuild
    - 'sleep 2; wait_for_slave_to_stop;' replaced with sourcing
      include/wait_for_slave_sql_to_stop.inc to be more predictable.
2007-06-19 16:06:11 +05:00

35 lines
875 B
PHP

###################################################
#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"
query_vertical SHOW SLAVE STATUS;
exit;
}
dec $counter;
}