mirror of
https://github.com/MariaDB/server.git
synced 2025-08-27 13:04:36 +03:00
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.
28 lines
823 B
Plaintext
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;
|