diff options
author | Daniele Sciascia <daniele.sciascia@galeracluster.com> | 2018-04-20 14:44:27 +0200 |
---|---|---|
committer | Daniele Sciascia <daniele.sciascia@galeracluster.com> | 2018-04-20 14:44:27 +0200 |
commit | 9e5671f1cc190f9b9498eafcf858460a56ff3a38 (patch) | |
tree | ee5c69fb52fd77a87d12211dbfbad0e07b9a9f14 /mysql-test/include | |
parent | 3d1ad2a5e85284b5ec4bb28f744b93b0b73e3934 (diff) | |
download | mariadb-git-9e5671f1cc190f9b9498eafcf858460a56ff3a38.tar.gz |
MDEV-15948 Fix error "Lost connection to MySQL server..." in test galera_sst_mysqldump
Test galera_sst_mysqldump often fails with error "2013: Lost connection
to MySQL server during query". The connection is lost after the test
restart one of the nodes. This happens because the server closes client
connections if it is joining a cluster through SST method mysqldump.
On unlucky runs of the test it is possible that mysqld is restarted,
and then mtr client is disconnected while it tries to determine if
galera is ready before going on with the test.
This patch rewrites galera_wait_ready.inc so that it is immune to
being disconnected.
Diffstat (limited to 'mysql-test/include')
-rw-r--r-- | mysql-test/include/galera_wait_ready.inc | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/mysql-test/include/galera_wait_ready.inc b/mysql-test/include/galera_wait_ready.inc index e20f01fad90..cd06bae8207 100644 --- a/mysql-test/include/galera_wait_ready.inc +++ b/mysql-test/include/galera_wait_ready.inc @@ -1,2 +1,32 @@ -let $wait_condition = SELECT 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready' AND VARIABLE_VALUE = 'ON'; ---source include/wait_condition.inc +# include/galera_wait_ready.inc +# +# Waits for galera node to transition to READY state. +# + +--enable_reconnect +--disable_query_log +--disable_result_log +let $wait_counter = 300; +while ($wait_counter) +{ + --disable_abort_on_error + let $success = `SELECT VARIABLE_VALUE = 'ON' FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_ready'`; + --enable_abort_on_error + if ($success) + { + let $wait_counter = 0; + } + if (!$success) + { + real_sleep 0.1; + dec $wait_counter; + } +} + +if (!$success) +{ + die "Server did not transition to READY state"; +} +--disable_reconnect +--enable_query_log +--enable_result_log |