From d970f805e62c864e08bb7bb7f13f39f3465ffca7 Mon Sep 17 00:00:00 2001 From: Daniele Sciascia Date: Thu, 14 Sep 2017 13:46:34 +0200 Subject: 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. --- mysql-test/include/restart_mysqld.inc | 3 --- mysql-test/include/start_mysqld.inc | 3 --- mysql-test/include/wait_until_connected_again.inc | 8 +++++++- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'mysql-test/include') diff --git a/mysql-test/include/restart_mysqld.inc b/mysql-test/include/restart_mysqld.inc index a0447280ff5..940e081c431 100644 --- a/mysql-test/include/restart_mysqld.inc +++ b/mysql-test/include/restart_mysqld.inc @@ -50,9 +50,6 @@ if (!$restart_parameters) # Call script that will poll the server waiting for it to be back online again --source include/wait_until_connected_again.inc -# Wait for wsrep ---source include/wait_wsrep_ready.inc - # Turn off reconnect again --disable_reconnect diff --git a/mysql-test/include/start_mysqld.inc b/mysql-test/include/start_mysqld.inc index 04dff714d49..e31f26aad8c 100644 --- a/mysql-test/include/start_mysqld.inc +++ b/mysql-test/include/start_mysqld.inc @@ -16,9 +16,6 @@ if (!$restart_parameters) # Call script that will poll the server waiting for it to be back online again --source include/wait_until_connected_again.inc -# Wait for wsrep ---source include/wait_wsrep_ready.inc - # Turn off reconnect again --disable_reconnect diff --git a/mysql-test/include/wait_until_connected_again.inc b/mysql-test/include/wait_until_connected_again.inc index 6f64ef45440..265f110fe72 100644 --- a/mysql-test/include/wait_until_connected_again.inc +++ b/mysql-test/include/wait_until_connected_again.inc @@ -14,7 +14,7 @@ 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,2002,2003,2005,2006,2013,1927 + --error 0,1040,1053,1205,2002,2003,2005,2006,2013,1927 show status; dec $counter; @@ -26,3 +26,9 @@ while ($mysql_errno) } --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 -- cgit v1.2.1