[MDEV-26626] InnoDB fails to advance the log checkpoint Created: 2021-09-16  Updated: 2023-03-16  Resolved: 2021-09-16

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.5.7, 10.6.0
Fix Version/s: 10.5.13, 10.6.5

Type: Bug Priority: Critical
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: backup, performance, recovery

Issue Links:
Blocks
blocks MDEV-26356 Performance regression after dict_sys... Closed
Duplicate
duplicates MDEV-26860 MariaDB 10.5 does not do idle checkpo... Closed
Relates
relates to MDEV-26631 Race condition in the test innodb.dou... Closed
relates to MDEV-30000 make mariadb-backup to force an innod... Open
Epic Link: adaptive flushing

 Description   

In buf_flush_page_cleaner(), we may fail to advance the log checkpoint. I suppose that we may end up with an empty buf_pool.flush_list and a very old checkpoint age if the last page was written out by LRU eviction, or something like that.

This was detected by hangs of the tests innodb_gis.rtree_compress and innodb.undo_truncate in the bb-10.6-MDEV-26356 branch. The reason of the failure is that with MDEV-26356, we would skip purge altogether if the redo log capacity has been reached.

Failure to advance the checkpoint will cause unnecessary extra work on crash recovery or in backup. I suppose that this mostly affects an idle server.


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