Fix an unstable test.
mysql-test/r/log_tables.result: Update results. mysql-test/t/log_tables.test: Silence a race condition: TRUNCATE code issues mysql_frm_type without a metadata lock, and finds no table if hits the moment when ALTER is swapping two tables.
This commit is contained in:
parent
8e62e86f80
commit
d2b9c8c219
@ -415,6 +415,8 @@ use test//
|
|||||||
create procedure proc25422_truncate_slow (loops int)
|
create procedure proc25422_truncate_slow (loops int)
|
||||||
begin
|
begin
|
||||||
declare v1 int default 0;
|
declare v1 int default 0;
|
||||||
|
declare continue handler for sqlexception /* errors from truncate */
|
||||||
|
begin end;
|
||||||
while v1 < loops do
|
while v1 < loops do
|
||||||
truncate mysql.slow_log;
|
truncate mysql.slow_log;
|
||||||
set v1 = v1 + 1;
|
set v1 = v1 + 1;
|
||||||
@ -423,6 +425,8 @@ end//
|
|||||||
create procedure proc25422_truncate_general (loops int)
|
create procedure proc25422_truncate_general (loops int)
|
||||||
begin
|
begin
|
||||||
declare v1 int default 0;
|
declare v1 int default 0;
|
||||||
|
declare continue handler for sqlexception /* errors from truncate */
|
||||||
|
begin end;
|
||||||
while v1 < loops do
|
while v1 < loops do
|
||||||
truncate mysql.general_log;
|
truncate mysql.general_log;
|
||||||
set v1 = v1 + 1;
|
set v1 = v1 + 1;
|
||||||
@ -454,23 +458,24 @@ set global general_log = @old_log_state;
|
|||||||
set v1 = v1 + 1;
|
set v1 = v1 + 1;
|
||||||
end while;
|
end while;
|
||||||
end//
|
end//
|
||||||
|
set @iterations=100;
|
||||||
"Serial test (proc25422_truncate_slow)"
|
"Serial test (proc25422_truncate_slow)"
|
||||||
call proc25422_truncate_slow(100);
|
call proc25422_truncate_slow(@iterations);
|
||||||
"Serial test (proc25422_truncate_general)"
|
"Serial test (proc25422_truncate_general)"
|
||||||
call proc25422_truncate_general(100);
|
call proc25422_truncate_general(@iterations);
|
||||||
"Serial test (proc25422_alter_slow)"
|
"Serial test (proc25422_alter_slow)"
|
||||||
call proc25422_alter_slow(100);
|
call proc25422_alter_slow(@iterations);
|
||||||
"Serial test (proc25422_alter_general)"
|
"Serial test (proc25422_alter_general)"
|
||||||
call proc25422_alter_general(100);
|
call proc25422_alter_general(@iterations);
|
||||||
"Parallel test"
|
"Parallel test"
|
||||||
call proc25422_truncate_slow(100);
|
call proc25422_truncate_slow(@iterations);
|
||||||
call proc25422_truncate_slow(100);
|
call proc25422_truncate_slow(@iterations);
|
||||||
call proc25422_truncate_general(100);
|
call proc25422_truncate_general(@iterations);
|
||||||
call proc25422_truncate_general(100);
|
call proc25422_truncate_general(@iterations);
|
||||||
call proc25422_alter_slow(100);
|
call proc25422_alter_slow(@iterations);
|
||||||
call proc25422_alter_slow(100);
|
call proc25422_alter_slow(@iterations);
|
||||||
call proc25422_alter_general(100);
|
call proc25422_alter_general(@iterations);
|
||||||
call proc25422_alter_general(100);
|
call proc25422_alter_general(@iterations);
|
||||||
drop procedure proc25422_truncate_slow;
|
drop procedure proc25422_truncate_slow;
|
||||||
drop procedure proc25422_truncate_general;
|
drop procedure proc25422_truncate_general;
|
||||||
drop procedure proc25422_alter_slow;
|
drop procedure proc25422_alter_slow;
|
||||||
|
@ -460,6 +460,8 @@ use test//
|
|||||||
create procedure proc25422_truncate_slow (loops int)
|
create procedure proc25422_truncate_slow (loops int)
|
||||||
begin
|
begin
|
||||||
declare v1 int default 0;
|
declare v1 int default 0;
|
||||||
|
declare continue handler for sqlexception /* errors from truncate */
|
||||||
|
begin end;
|
||||||
while v1 < loops do
|
while v1 < loops do
|
||||||
truncate mysql.slow_log;
|
truncate mysql.slow_log;
|
||||||
set v1 = v1 + 1;
|
set v1 = v1 + 1;
|
||||||
@ -469,6 +471,8 @@ end//
|
|||||||
create procedure proc25422_truncate_general (loops int)
|
create procedure proc25422_truncate_general (loops int)
|
||||||
begin
|
begin
|
||||||
declare v1 int default 0;
|
declare v1 int default 0;
|
||||||
|
declare continue handler for sqlexception /* errors from truncate */
|
||||||
|
begin end;
|
||||||
while v1 < loops do
|
while v1 < loops do
|
||||||
truncate mysql.general_log;
|
truncate mysql.general_log;
|
||||||
set v1 = v1 + 1;
|
set v1 = v1 + 1;
|
||||||
@ -507,14 +511,16 @@ end//
|
|||||||
|
|
||||||
delimiter ;//
|
delimiter ;//
|
||||||
|
|
||||||
|
set @iterations=100;
|
||||||
|
|
||||||
--echo "Serial test (proc25422_truncate_slow)"
|
--echo "Serial test (proc25422_truncate_slow)"
|
||||||
call proc25422_truncate_slow(100);
|
call proc25422_truncate_slow(@iterations);
|
||||||
--echo "Serial test (proc25422_truncate_general)"
|
--echo "Serial test (proc25422_truncate_general)"
|
||||||
call proc25422_truncate_general(100);
|
call proc25422_truncate_general(@iterations);
|
||||||
--echo "Serial test (proc25422_alter_slow)"
|
--echo "Serial test (proc25422_alter_slow)"
|
||||||
call proc25422_alter_slow(100);
|
call proc25422_alter_slow(@iterations);
|
||||||
--echo "Serial test (proc25422_alter_general)"
|
--echo "Serial test (proc25422_alter_general)"
|
||||||
call proc25422_alter_general(100);
|
call proc25422_alter_general(@iterations);
|
||||||
|
|
||||||
--echo "Parallel test"
|
--echo "Parallel test"
|
||||||
|
|
||||||
@ -532,24 +538,24 @@ connect (addconroot7, localhost, root,,);
|
|||||||
connect (addconroot8, localhost, root,,);
|
connect (addconroot8, localhost, root,,);
|
||||||
|
|
||||||
connection addconroot1;
|
connection addconroot1;
|
||||||
send call proc25422_truncate_slow(100);
|
send call proc25422_truncate_slow(@iterations);
|
||||||
connection addconroot2;
|
connection addconroot2;
|
||||||
send call proc25422_truncate_slow(100);
|
send call proc25422_truncate_slow(@iterations);
|
||||||
|
|
||||||
connection addconroot3;
|
connection addconroot3;
|
||||||
send call proc25422_truncate_general(100);
|
send call proc25422_truncate_general(@iterations);
|
||||||
connection addconroot4;
|
connection addconroot4;
|
||||||
send call proc25422_truncate_general(100);
|
send call proc25422_truncate_general(@iterations);
|
||||||
|
|
||||||
connection addconroot5;
|
connection addconroot5;
|
||||||
send call proc25422_alter_slow(100);
|
send call proc25422_alter_slow(@iterations);
|
||||||
connection addconroot6;
|
connection addconroot6;
|
||||||
send call proc25422_alter_slow(100);
|
send call proc25422_alter_slow(@iterations);
|
||||||
|
|
||||||
connection addconroot7;
|
connection addconroot7;
|
||||||
send call proc25422_alter_general(100);
|
send call proc25422_alter_general(@iterations);
|
||||||
connection addconroot8;
|
connection addconroot8;
|
||||||
send call proc25422_alter_general(100);
|
send call proc25422_alter_general(@iterations);
|
||||||
|
|
||||||
connection addconroot1;
|
connection addconroot1;
|
||||||
reap;
|
reap;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user