1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-27 13:04:36 +03:00
Files
mariadb/mysql-test/suite/innodb/r/purge_thread_shutdown.result
Vladislav Vaintroub 5e62b6a5e0 MDEV-16264 Use threadpool for Innodb background work.
Almost all threads have gone
- the "ticking" threads, that sleep a while then do some work)
(srv_monitor_thread, srv_error_monitor_thread, srv_master_thread)
were replaced with timers. Some timers are periodic,
e.g the "master" timer.

- The btr_defragment_thread is also replaced by a timer , which
reschedules it self when current defragment "item" needs throttling

- the buf_resize_thread and buf_dump_threads are substitutes with tasks
Ditto with page cleaner workers.

- purge workers threads are not tasks as well, and purge cleaner
coordinator is a combination of a task and timer.

- All AIO is outsourced to tpool, Innodb just calls thread_pool::submit_io()
and provides the callback.

- The srv_slot_t was removed, and innodb_debug_sync used in purge
is currently not working, and needs reimplementation.
2019-11-15 18:09:30 +01:00

28 lines
823 B
Plaintext

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;
user state
root
root Filling schema table
set global debug_dbug='+d,only_kill_system_threads';
set global innodb_fast_shutdown=0;
shutdown;
connection default;
disconnect con1;
select user,state from information_schema.processlist order by 2;
user state
root Filling schema table
set global innodb_fast_shutdown=1;
select user,state from information_schema.processlist order by 2;
user state
root Filling schema table
delete from t1 where a=3;
set global innodb_fast_shutdown=0;
ERROR 42000: Variable 'innodb_fast_shutdown' can't be set to the value of '0'
kill ID;
ERROR 70100: Connection was killed
# restart
drop table t1;