Browse Source

MDEV-23752 SHOW EXPLAIN FOR thd waits for sleep

fix main.processlist_notembedded test

* before EXPLAINing `select sleep` wait for select to start
  (fixes "Target is not running an EXPLAINable command")
* after killing sleep, wait for it to die
  (fixes test failures on --repeat when old sleep shows on a test rerun)

* unify with 10.3, copy minor changes from there
  (`--echo End of 5.5` vs `--echo # End of 5.5`, etc)
pull/1886/head
Sergei Golubchik 4 years ago
parent
commit
2cdf8a9327
  1. 17
      mysql-test/r/processlist_notembedded.result
  2. 27
      mysql-test/t/processlist_notembedded.test

17
mysql-test/r/processlist_notembedded.result

@ -1,7 +1,7 @@
#
# MDEV-20466: SHOW PROCESSLIST truncates query text on \0 bytes
#
connect con1,localhost,root,,;
connect con1,localhost,root;
connection con1;
SET DEBUG_SYNC= 'before_join_optimize SIGNAL in_sync WAIT_FOR go';
connection default;
@ -13,17 +13,22 @@ user
disconnect con1;
connection default;
SET DEBUG_SYNC = 'RESET';
End of 5.5 tests
#
# End of 5.5 tests
#
#
# MDEV-23752: SHOW EXPLAIN FOR thd waits for sleep
#
connect con1,localhost,root,,;
select sleep(100000);;
connect con1,localhost,root;
select sleep(100000);
connection default;
SHOW EXPLAIN FOR con_id;
SHOW EXPLAIN FOR $con_id;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
Warnings:
Note 1003 select sleep(100000)
KILL QUERY con_id;
KILL QUERY $con_id;
disconnect con1;
#
# End of 10.2 tests
#

27
mysql-test/t/processlist_notembedded.test

@ -1,4 +1,3 @@
source include/have_debug.inc;
source include/have_debug_sync.inc;
source include/not_embedded.inc;
source include/count_sessions.inc;
@ -7,7 +6,7 @@ source include/count_sessions.inc;
--echo # MDEV-20466: SHOW PROCESSLIST truncates query text on \0 bytes
--echo #
connect (con1,localhost,root,,);
connect con1,localhost,root;
connection con1;
@ -37,24 +36,26 @@ connection default;
SET DEBUG_SYNC = 'RESET';
source include/wait_until_count_sessions.inc;
--echo End of 5.5 tests
--echo #
--echo # End of 5.5 tests
--echo #
--echo #
--echo # MDEV-23752: SHOW EXPLAIN FOR thd waits for sleep
--echo #
--connect (con1,localhost,root,,)
--connect con1,localhost,root
--let $con_id = `SELECT CONNECTION_ID()`
--send select sleep(100000);
--send select sleep(100000)
--connection default
let $wait_condition= SELECT COUNT(*)=1 FROM information_schema.processlist where state='User sleep';
source include/wait_condition.inc;
evalp SHOW EXPLAIN FOR $con_id;
evalp KILL QUERY $con_id;
disconnect con1;
source include/wait_until_count_sessions.inc;
--replace_result $con_id con_id
eval SHOW EXPLAIN FOR $con_id;
--replace_result $con_id con_id
eval KILL QUERY $con_id;
--echo #
--echo # End of 10.2 tests
--echo #
Loading…
Cancel
Save