Details
-
Task
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
InnoDB uses internal background threads for a few different things. For example:
- It uses a background thread to update persistent statistics.
- It uses one or more background threads (determined by innodb_encryption_threads) to encrypt/decrypt tables where ENCRYPTED=DEFAULT.
https://mariadb.com/kb/en/library/innodb-system-variables/#innodb_encryption_threads
- It uses one or more background threads (determined by innodb_purge_threads) to purge unneeded undo logs.
https://mariadb.com/kb/en/library/innodb-system-variables/#innodb_purge_threads
- It uses one or more background threads (determined by either innodb_mtflush_threads or innodb_page_cleaners) to flush dirty pages from the buffer pool.
https://mariadb.com/kb/en/library/innodb-system-variables/#innodb_mtflush_threads
https://mariadb.com/kb/en/library/innodb-system-variables/#innodb_page_cleaners
- It uses one or more background threads (determined by innodb_read_io_threads) to read pages from disk.
https://mariadb.com/kb/en/library/innodb-system-variables/#innodb_read_io_threads
- It uses one or more background threads (determined by innodb_write_io_threads) to write pages to disk.
https://mariadb.com/kb/en/library/innodb-system-variables/#innodb_write_io_threads
- Supposedly it uses some kind of background thread to implement some kind of "DROP TABLE" queue (based on the comments of
MDEV-8069).
It would probably make sense to show some or all of these threads in SHOW ENGINE INNODB STATUS output, since they can hold semaphores and cause or exacerbate concurrency issues.
Attachments
Issue Links
- is part of
-
MDEV-16264 Implement a common work queue for InnoDB background tasks
- Closed
- relates to
-
MDEV-15528 Avoid writing freed InnoDB pages
- Closed
-
MDEV-16264 Implement a common work queue for InnoDB background tasks
- Closed
-
MDEV-19514 Defer change buffer merge until pages are requested
- Closed
-
MDEV-21566 Lock monitor doesn't print a name for RW-latches
- Closed
-
MDEV-21870 Deprecate and ignore innodb_scrub_log and innodb_scrub_log_speed
- Closed
-
MDEV-22087 Increase buffer size for query in SHOW ENGINE INNODB STATUS output
- Open
-
MDEV-11703 InnoDB background threads show up in the processlist
- Stalled
-
MDEV-17237 thread IDs are printed in different formats in different sections of SHOW ENGINE INNODB STATUS output
- Open
-
MDEV-17238 Document special thread IDs used in SHOW ENGINE INNODB STATUS output
- Open
-
MDEV-18391 Print ENGINE INNODB STATUS in machine parsable format
- Open
-
MDEV-18429 Consistent non-locking reads do not appear in TRANSACTIONS section of SHOW ENGINE INNODB STATUS
- Closed
-
MDEV-18572 Thread executing DROP TABLE listed twice in SHOW ENGINE INNODB STATUS output
- Open
-
MDEV-18582 Port status variables related to SHOW ENGINE INNODB STATUS from XtraDB to InnoDB in 10.2+
- Closed
-
MDEV-21330 Lock monitor doesn't print a semaphore's last reserved thread in non-debug builds and INFORMATION_SCHEMA.INNODB_SYS_SEMAPHORE_WAITS is totally broken
- Closed
-
MDEV-21390 lock_print_info_summary() should work even when trx_sys.mutex is locked
- Closed