From fa7707addfc0bca017992b804e0c77715356e263 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 21 Feb 2008 13:23:58 +0100 Subject: [PATCH] Bug#32025 ndb_waiter does too many roundtrips to ndb_mgmd - fix test failures that was already there but now are more consistent when the 1 second sleep has been removed from ndb_waiter mysql-test/t/ndb_autodiscover.test: Wait until mysqld has reconnected to ndbd after ndbd has been restarted mysql-test/t/ndb_autodiscover3.test: Wait until mysqld has reconnected to ndbd after ndbd has been restarted mysql-test/include/ndb_wait_connected.inc: Wait until mysqld has reconnected to ndbd after ndbd has been restarted --- mysql-test/include/ndb_wait_connected.inc | 26 +++++++++++++++++++++++ mysql-test/t/ndb_autodiscover.test | 1 + mysql-test/t/ndb_autodiscover3.test | 9 ++++++++ 3 files changed, 36 insertions(+) create mode 100644 mysql-test/include/ndb_wait_connected.inc diff --git a/mysql-test/include/ndb_wait_connected.inc b/mysql-test/include/ndb_wait_connected.inc new file mode 100644 index 00000000000..cfea94db1f1 --- /dev/null +++ b/mysql-test/include/ndb_wait_connected.inc @@ -0,0 +1,26 @@ +# Check that mysqld has reconnected to ndbd after +# restart of ndbd +# +--disable_query_log +--disable_result_log +let $mysql_errno= 1; +let $counter= 600; +while ($mysql_errno) +{ + --error 0,157 + CREATE TABLE ndb_wait_connected (a int primary key); + if ($mysql_errno) + { + if (!$counter) + { + die Failed waiting for mysqld to reconnect to ndbd; + } + dec $counter; + --sleep 0.1 + } +} +DROP TABLE ndb_wait_connected; +--enable_query_log +--enable_result_log + + diff --git a/mysql-test/t/ndb_autodiscover.test b/mysql-test/t/ndb_autodiscover.test index 6eb039c2df2..049dcd9755e 100644 --- a/mysql-test/t/ndb_autodiscover.test +++ b/mysql-test/t/ndb_autodiscover.test @@ -491,6 +491,7 @@ select * from t1; select * from t1; --exec $NDB_MGM --no-defaults -e "all start" > /dev/null --exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults > /dev/null +--source include/ndb_wait_connected.inc use test; drop database test_only_ndb_tables; diff --git a/mysql-test/t/ndb_autodiscover3.test b/mysql-test/t/ndb_autodiscover3.test index 259da6e3501..4a20e7dd430 100644 --- a/mysql-test/t/ndb_autodiscover3.test +++ b/mysql-test/t/ndb_autodiscover3.test @@ -25,6 +25,13 @@ insert into t1 values (1); --exec $NDB_MGM --no-defaults -e "all restart" >> $NDB_TOOLS_OUTPUT --exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults -c $connect_str >> $NDB_TOOLS_OUTPUT +# Create separate connection and use that for detecting +# when mysqld has reconnected to ndbd +connect (ndb_wait_con,127.0.0.1,root,,test,$MASTER_MYPORT,); +--source include/ndb_wait_connected.inc +disconnect ndb_wait_con; +connection server1; + --error 1297 insert into t1 values (2); --error 1296 @@ -44,6 +51,7 @@ select * from t2 order by a limit 3; --exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults -c $connect_str >> $NDB_TOOLS_OUTPUT --connection server2 +--source include/ndb_wait_connected.inc create table t2 (a int key) engine=ndbcluster; insert into t2 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10); select * from t2 order by a limit 3; @@ -58,6 +66,7 @@ select * from t2 order by a limit 3; --exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults -c $connect_str >> $NDB_TOOLS_OUTPUT --connection server1 +--source include/ndb_wait_connected.inc show tables; create table t2 (a int key) engine=ndbcluster; insert into t2 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);