Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.5.0
Description
A side effect of MDEV-16264 is that a large number of threads will be created at server startup, to be destroyed after a minute or two.
One source of such thread creation is srv_start_periodic_timer(). InnoDB is creating 3 periodic tasks:
task | frequency (Hz) |
---|---|
srv_master_callback | 1 |
srv_error_monitor_task | 1 |
srv_monitor_task | .2 |
It appears that we can merge srv_error_monitor_task and srv_monitor_task and have them invoked 4 times per minute (every 15 seconds). This will affect our ability to enforce innodb_fatal_semaphore_wait_threshold and some computations around BUF_LRU_STAT_N_INTERVAL (buffer pool handling in writes to ROW_FORMAT=COMPRESSED pages, something that we wish to remove in the future, as noted in MDEV-23497). For the main purposes such invocation interval should be fine.
The main tasks of srv_master_callback after MDEV-23855 are the background DROP TABLE queue (which can hopefully be removed after MDEV-21175 and MDEV-21602 have been addressed) and the LRU eviction of table definitions. Invoking these once per second could be an overkill, but we can keep it for now, and move to event-based execution once the DROP TABLE queue can be removed.
Attachments
Issue Links
- is caused by
-
MDEV-16264 Implement a common work queue for InnoDB background tasks
- Closed
- relates to
-
MDEV-24278 InnoDB page cleaner keeps waking up on idle server
- Closed