Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.4.13
Description
Shutting down al large windows instance (innodb_pool_buffer_size=384GB, > 500K tables) takes much longer with 10.4 than it did with 10.3.
Shutdown takes around 10 minutes even with innodb_fast_shutdown=1 or =3.
innodb_defragment was originally enabled, but even after turning that off shutdown still took several minutes, even though less than with defragmentation enabled.
Nothing special in the error log besides [Note] InnoDB: Waiting for master threadto exit once per minute.
Attachments
Issue Links
- relates to
-
MDEV-29291 Assertion `!table->fts' failed in dict_table_can_be_evicted on SHUTDOWN
-
- Closed
-
The RelWithDebInfo build completed the following test case in 16 seconds (not counting bootstrap) when using the MyISAM engine on /dev/shm:
--source include/have_innodb.inc
DELIMITER //;
DELIMITER ;//
With ENGINE=InnoDB and my fix of using std::mutex, it completed in 62 seconds.
With ENGINE=InnoDB and without my fix, it completed in 69 seconds.
Creating the tables takes the majority of the time (59 seconds).
The shutdown and restart without the fix would take about 9 seconds, and with the fix, about 3 seconds.
I think that implementing this fix is sufficient for now. We might look at speeding up innodb_fast_shutdown=2 and innodb_fast_shutdown=3 in non-debug builds later if it is truly needed.