mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Bug#18654 Test is timing-dependent and fails from scheduling effects (?)
- Wait in loop with small sleep until tables has been renamed mysql-test/t/rename.test: To avoid scheduling effects wait for the tables to be renamed in a loop with small sleeps before continuing with tests mysql-test/include/wait_for_query_to_suceed.inc: New BitKeeper file ``mysql-test/include/wait_for_query_to_suceed.inc''
This commit is contained in:
25
mysql-test/include/wait_for_query_to_suceed.inc
Normal file
25
mysql-test/include/wait_for_query_to_suceed.inc
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
#
|
||||||
|
# Run a query over and over until it suceeds ot timeout occurs
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
let $counter= 100;
|
||||||
|
|
||||||
|
disable_abort_on_error;
|
||||||
|
disable_query_log;
|
||||||
|
disable_result_log;
|
||||||
|
eval $query;
|
||||||
|
while ($mysql_errno)
|
||||||
|
{
|
||||||
|
eval $query;
|
||||||
|
sleep 0.1;
|
||||||
|
dec $counter;
|
||||||
|
|
||||||
|
if (!$counter)
|
||||||
|
{
|
||||||
|
die("Waited too long for query to suceed");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
enable_abort_on_error;
|
||||||
|
enable_query_log;
|
||||||
|
enable_result_log;
|
@@ -43,7 +43,7 @@ select * from t3;
|
|||||||
drop table if exists t1,t2,t3,t4;
|
drop table if exists t1,t2,t3,t4;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Test-case for Bug #2397 RENAME TABLES is not blocked by
|
# Bug #2397 RENAME TABLES is not blocked by
|
||||||
# FLUSH TABLES WITH READ LOCK
|
# FLUSH TABLES WITH READ LOCK
|
||||||
#
|
#
|
||||||
|
|
||||||
@@ -58,10 +58,14 @@ FLUSH TABLES WITH READ LOCK;
|
|||||||
connection con1;
|
connection con1;
|
||||||
send RENAME TABLE t1 TO t2, t3 to t4;
|
send RENAME TABLE t1 TO t2, t3 to t4;
|
||||||
connection con2;
|
connection con2;
|
||||||
sleep 1;
|
|
||||||
show tables;
|
show tables;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
sleep 1;
|
|
||||||
|
# Wait for the the tables to be renamed
|
||||||
|
# i.e the query below succeds
|
||||||
|
let $query= select * from t2, t4;
|
||||||
|
source include/wait_for_query_to_suceed.inc;
|
||||||
|
|
||||||
show tables;
|
show tables;
|
||||||
|
|
||||||
drop table t2, t4;
|
drop table t2, t4;
|
||||||
|
Reference in New Issue
Block a user