MDEV-7352: main.kill_processlist-6619 fails sporadically in buildbot

After fix of MDEV-6728, the KILL signal is reset at the start of query
execution. This means that in this test case, we need to wait for the
to-be-killed query to have started; otherwise the kill signal can be lost,
causing the test case to fail.
This commit is contained in:
Kristian Nielsen 2015-01-23 13:56:46 +01:00
parent b07081338b
commit c287873795
2 changed files with 9 additions and 2 deletions

View File

@ -3,13 +3,15 @@ SHOW PROCESSLIST;
Id User Host db Command Time State Info Progress
# root # test Sleep # # NULL 0.000
# root # test Query # # SHOW PROCESSLIST 0.000
SET DEBUG_SYNC='before_execute_sql_command WAIT_FOR go';
SET DEBUG_SYNC='before_execute_sql_command SIGNAL ready WAIT_FOR go';
SHOW PROCESSLIST;
connection default;
SET DEBUG_SYNC='now WAIT_FOR ready';
KILL QUERY con_id;
SET DEBUG_SYNC='now SIGNAL go';
connection con1;
ERROR 70100: Query execution was interrupted
SET DEBUG_SYNC='reset';
SHOW PROCESSLIST;
Id User Host db Command Time State Info Progress
# root # test Sleep # # NULL 0.000

View File

@ -9,14 +9,19 @@
--let $con_id = `SELECT CONNECTION_ID()`
--replace_column 1 # 3 # 6 # 7 #
SHOW PROCESSLIST;
SET DEBUG_SYNC='before_execute_sql_command WAIT_FOR go';
SET DEBUG_SYNC='before_execute_sql_command SIGNAL ready WAIT_FOR go';
send SHOW PROCESSLIST;
--connection default
# We must wait for the SHOW PROCESSLIST query to have started before sending
# the kill. Otherwise, the KILL may be lost since it is reset at the start of
# query execution.
SET DEBUG_SYNC='now WAIT_FOR ready';
--replace_result $con_id con_id
eval KILL QUERY $con_id;
SET DEBUG_SYNC='now SIGNAL go';
--connection con1
--error ER_QUERY_INTERRUPTED
reap;
SET DEBUG_SYNC='reset';
--replace_column 1 # 3 # 6 # 7 #
SHOW PROCESSLIST;