Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-24280

InnoDB triggers too many independent periodic tasks

    XMLWordPrintable

    Details

      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

            Activity

              People

              Assignee:
              marko Marko Mäkelä
              Reporter:
              marko Marko Mäkelä
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: