• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3154
  • Last Modified:

InnoDB: ERROR: the age of the last checkpoint exceeds the log group capacity

InnoDB: ERROR: the age of the last checkpoint exceeds the log group capacity

Found the following in mysql.log:

InnoDB: ERROR: the age of the last checkpoint is 9433910, InnoDB: which exceeds the log group capacity 9433498. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row.

1) Is this something to be very concerned about?
2) How do I adjust the "InnoDB: combined size of log files" and how do I determine the largest such row?
3) Anything else I should be considering with regard to this message?

Searches around in other resources seem to turn up very little.  Any thoughts, ideas, suggestions are greatly appreciated.

Thank you!

/David C.
1 Solution
learningtechnologiesAuthor Commented:
I was able to obtain an answer to this from another source.

I am leaving this information so that someone else may find it here one day.


/David C.
InnoDB flushes modified database pages from the buffer pool in small batches. All committed modifications that make the database pages in the buffer pool different from the images on disk must be available in the log files in case InnoDB has to do a recovery. Should that volume exceed that which the innodb logs (the iblog files) can contain then a checkpoint is forced.

We exceeded it by only a few hundred bytes (9433910, InnoDB: which exceeds the log group capacity 9433498, so 9433910 - 9433498). It doesn't mean we lost any information, only that a flush was forced early due to exceeding the capacity.

Possible reasons for exceeding the log group capacity size are:

* A large blob or text row insert.
* A high number of concurrent transactions.

If we're inserting large quantities of data or large blobs/text, it can greatly boost performance to increase the size of these log files. The larger the log file size, the less checkpoint flush activity is needed in the buffer pool, saving disk I/O. But larger log files also mean that recovery is slower (longer recovery time) in case of a crash.

However it looks like this is the only log entry so it's nothing to worry about. If this error occurs frequently we should increase the size of the log files as explained here:


Basically stop mysqld move the ib_logfile* (nothing else especially ibdata), make the change in the my.cnf, then restart the server and new files will be created to the new size. If we don't follow that procedure we'll get an InnoDB error about logfile size mismatch and InnoDb will not initialize.

Check points are explained here:


The innodb buffer is explained here:


The server variable innodb_log_file_size is explained here:


The size in bytes of each log file in a log group. The combined size of log files must be less than 4GB. The default is 5MB. Sensible values range from 1MB to 1/N-th of the size of the buffer pool, where N is the number of log files in the group. The larger the value, the less checkpoint flush activity is needed in the buffer pool, saving disk I/O. But larger log files also mean that recovery is slower in case of a crash.

It looks like we are using the default innodb_log_file_size of 5M (2X5M = 10M) thus the 9433498 log group capacity with some overhead.  I would increase the innodb_log_file size to 32M or 64M. 5M is small on a lot of busy systems or ones dealing with blobs, however it doesn't look like it's affecting us much here with only 1 message so we could also just monitor the log to see if the system begins exceeding it more as well.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Improve Your Query Performance Tuning

In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now