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:
parent
b07081338b
commit
c287873795
@ -3,13 +3,15 @@ SHOW PROCESSLIST;
|
|||||||
Id User Host db Command Time State Info Progress
|
Id User Host db Command Time State Info Progress
|
||||||
# root # test Sleep # # NULL 0.000
|
# root # test Sleep # # NULL 0.000
|
||||||
# root # test Query # # SHOW PROCESSLIST 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;
|
SHOW PROCESSLIST;
|
||||||
connection default;
|
connection default;
|
||||||
|
SET DEBUG_SYNC='now WAIT_FOR ready';
|
||||||
KILL QUERY con_id;
|
KILL QUERY con_id;
|
||||||
SET DEBUG_SYNC='now SIGNAL go';
|
SET DEBUG_SYNC='now SIGNAL go';
|
||||||
connection con1;
|
connection con1;
|
||||||
ERROR 70100: Query execution was interrupted
|
ERROR 70100: Query execution was interrupted
|
||||||
|
SET DEBUG_SYNC='reset';
|
||||||
SHOW PROCESSLIST;
|
SHOW PROCESSLIST;
|
||||||
Id User Host db Command Time State Info Progress
|
Id User Host db Command Time State Info Progress
|
||||||
# root # test Sleep # # NULL 0.000
|
# root # test Sleep # # NULL 0.000
|
||||||
|
@ -9,14 +9,19 @@
|
|||||||
--let $con_id = `SELECT CONNECTION_ID()`
|
--let $con_id = `SELECT CONNECTION_ID()`
|
||||||
--replace_column 1 # 3 # 6 # 7 #
|
--replace_column 1 # 3 # 6 # 7 #
|
||||||
SHOW PROCESSLIST;
|
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;
|
send SHOW PROCESSLIST;
|
||||||
--connection default
|
--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
|
--replace_result $con_id con_id
|
||||||
eval KILL QUERY $con_id;
|
eval KILL QUERY $con_id;
|
||||||
SET DEBUG_SYNC='now SIGNAL go';
|
SET DEBUG_SYNC='now SIGNAL go';
|
||||||
--connection con1
|
--connection con1
|
||||||
--error ER_QUERY_INTERRUPTED
|
--error ER_QUERY_INTERRUPTED
|
||||||
reap;
|
reap;
|
||||||
|
SET DEBUG_SYNC='reset';
|
||||||
--replace_column 1 # 3 # 6 # 7 #
|
--replace_column 1 # 3 # 6 # 7 #
|
||||||
SHOW PROCESSLIST;
|
SHOW PROCESSLIST;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user