1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-25 13:42:52 +03:00
mariadb/mysql-test/include/wait_until_connected_again.inc
Daniele Sciascia d970f805e6 MW-405 Make sure wsrep is ready in wait_until_connected_again.inc
wait_until_connected_again issues 'SHOW STATUS' query repeatedly
until mysqld replies without errors.
However, SHOW STATUS is treated specially by wsrep in that it is
allowed to proceed even if wsrep is not yet in ready state. As a
consequence, after returning from wait_until_connected_again,
wsrep may not be ready yet and subsequent queries may fail with
error "1047 WSREP has not yet prepared node for application use".
To avoid those errors, the patch includes wait_wsrep_ready.inc at
the end of the wait_until_connected_again.
2018-04-03 08:10:21 +03:00

35 lines
890 B
PHP

#
# Include this script to wait until the connection to the
# server has been restored or timeout occurs.
# You should have done --enable_reconnect first
# When you change this file you may have to chance its cousin
# wait_until_disconnected.inc
--disable_result_log
--disable_query_log
let $counter= 5000;
let $mysql_errno= 9999;
while ($mysql_errno)
{
# Strangely enough, the server might return "Too many connections"
# while being shutdown, thus 1040 is an "allowed" error
# See BUG#36228
--error 0,1040,1053,1205,2002,2003,2005,2006,2013,1927
show status;
dec $counter;
if (!$counter)
{
--die Server failed to restart
}
--sleep 0.1
}
--enable_query_log
--enable_result_log
# WSREP: SHOW STATUS queries are allowed even if wsrep
# is not ready. Make sure wsrep is ready before
# returning from this script
--source include/wait_wsrep_ready.inc