summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/innodb/t/purge_thread_shutdown.test
blob: 53b375b80fd654e6345d32b83ee425df3403ce8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
source include/have_innodb.inc;
source include/not_embedded.inc;
source include/have_debug.inc;

connect con1, localhost, root;
create table t1 (a int) engine=innodb;
insert t1 values (1),(2),(3),(4);
delete from t1 where a=1;

select user,state from information_schema.processlist order by 2;

set global debug_dbug='+d,only_kill_system_threads';
set global innodb_fast_shutdown=0;

--let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')`
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect
exec echo "wait" > $_expect_file_name;
send shutdown;

connection default;
disconnect con1;

sleep 5;
select user,state from information_schema.processlist order by 2;
set global innodb_fast_shutdown=1;

let $wait_condition=select count(*) = 0 from information_schema.processlist where user='system user';
source include/wait_condition.inc;
select user,state from information_schema.processlist order by 2;

delete from t1 where a=3;
error ER_WRONG_VALUE_FOR_VAR;
set global innodb_fast_shutdown=0;

# Get id with space prefix to ensure that replace_result doesn't replace
# the error code
let $me=`select concat(' ', connection_id())`;
replace_result $me ID;
error ER_CONNECTION_KILLED, 2026;
eval kill $me;

source include/start_mysqld.inc;
drop table t1;