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

InnoDB LRU flushing does not run before running out of buffer pool

Details

    Description

      A customer who uses remarkably large innodb_buffer_pool_size noted that there are some performance stalls when the buffer pool is running out of free pages.

      In a scenario where background flushing is not enabled (innodb_max_dirty_pages_pct_lwm is not being exceeded in the buffer pool, or it is 0 and innodb_max_dirty_pages_pct is not being exceeded), the buf_flush_page_cleaner() thread could sit idle while pages in the buffer pool are slowly running out.

      It could make sense to wake up the buf_flush_page_cleaner() thread in buf_LRU_get_free_block() when buf_pool.page_cleaner_idle() holds and there are fewer than innodb_lru_scan_depth blocks available.

      If there are fewer than innodb_lru_scan_depth/2 blocks available in the buffer pool and the page cleaner is not idle but being invoked once per second, it would make sense to wake up the page cleaner from its sleep immediately. LRU eviction flushing should ignore the innodb_io_capacity throttling, because running out of buffer pool will risk blocking all operations in the database.

      Attachments

        Issue Links

          Activity

            marko Marko Mäkelä created issue -
            marko Marko Mäkelä made changes -
            Field Original Value New Value
            marko Marko Mäkelä made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            marko Marko Mäkelä made changes -
            Assignee Marko Mäkelä [ marko ] Vladislav Vaintroub [ wlad ]
            Status In Progress [ 3 ] In Review [ 10002 ]
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            Fix Version/s 10.5 [ 23123 ]
            marko Marko Mäkelä made changes -
            Assignee Vladislav Vaintroub [ wlad ] Debarun Banerjee [ JIRAUSER54513 ]
            debarun Debarun Banerjee made changes -
            Assignee Debarun Banerjee [ JIRAUSER54513 ] Marko Mäkelä [ marko ]
            marko Marko Mäkelä made changes -
            Status In Review [ 10002 ] In Testing [ 10301 ]
            marko Marko Mäkelä made changes -
            Assignee Marko Mäkelä [ marko ] Matthias Leich [ mleich ]
            mleich Matthias Leich made changes -
            Status In Testing [ 10301 ] Stalled [ 10000 ]
            mleich Matthias Leich made changes -
            Assignee Matthias Leich [ mleich ] Marko Mäkelä [ marko ]
            marko Marko Mäkelä made changes -
            issue.field.resolutiondate 2024-01-19 11:49:39.0 2024-01-19 11:49:39.427
            marko Marko Mäkelä made changes -
            Fix Version/s 10.6.17 [ 29518 ]
            Fix Version/s 10.11.7 [ 29519 ]
            Fix Version/s 11.0.5 [ 29520 ]
            Fix Version/s 11.1.4 [ 29024 ]
            Fix Version/s 11.2.3 [ 29521 ]
            Fix Version/s 11.3.2 [ 29522 ]
            Fix Version/s 11.4.1 [ 29523 ]
            Fix Version/s 10.6 [ 24028 ]
            Fix Version/s 10.11 [ 27614 ]
            Fix Version/s 11.0 [ 28320 ]
            Fix Version/s 11.1 [ 28549 ]
            Fix Version/s 11.3 [ 28565 ]
            Fix Version/s 11.2 [ 28603 ]
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            mariadb-jira-automation Jira Automation (IT) made changes -
            Zendesk Related Tickets 201921
            Zendesk active tickets 201921
            monty Michael Widenius made changes -
            marko Marko Mäkelä made changes -

            People

              marko Marko Mäkelä
              marko Marko Mäkelä
              Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.