[MDEV-24369] Page cleaner sleeps indefinitely despite innodb_max_dirty_pages_pct_lwm being exceeded Created: 2020-12-08  Updated: 2023-04-26  Resolved: 2020-12-09

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.5
Fix Version/s: 10.5.9

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: flush, performance

Issue Links:
Problem/Incident
causes MDEV-26055 Adaptive flushing is still not gettin... Closed
is caused by MDEV-24278 InnoDB page cleaner keeps waking up o... Closed
Relates
relates to MDEV-24917 Flushing starts only when 90% (srv_ma... Closed

 Description   

MDEV-24278 improved the page cleaner so that it will no longer wake up once per second on an idle server. However, with innodb_adaptive_flushing (the default) the function page_cleaner_flush_pages_recommendation() could initially return 0 even if there is work to do. The page cleaner should only remain sleeping indefinitely as long as the sharp innodb_max_dirty_pages_pct_lwm limit is not exceeded.

Based on a source code comment, it appears that an initial intention of innodb_max_dirty_pages_pct_lwm=0.0 (the default value) was to disable something. That ceased to hold in MDEV-23855 and MDEV-24278: the value is a pure threshold; the page cleaner will not perform any work unless the threshold is exceeded.



 Comments   
Comment by Marko Mäkelä [ 2020-12-09 ]

Note: This bug was not part of any 10.5 release. It was introduced by MDEV-24278 after the 10.5.8 release, during the development of 10.5.9.

Generated at Thu Feb 08 09:29:28 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.