InnoDB monitor can fill disk and crash MySQL
General
Escalation
General
Escalation
Description
Environment
None
Smart Checklist
Activity
Show:
Carlos Tutte August 16, 2019 at 9:42 PM
Mistakenly created this under PXC, but re created under PS: https://jira.percona.com/browse/PS-5872
Duplicate
Details
Details
Assignee
Unassigned
UnassignedReporter
Carlos Tutte
Carlos TutteAffects versions
Priority
Smart Checklist
Open Smart Checklist
Smart Checklist

Open Smart Checklist
Created August 16, 2019 at 8:43 PM
Updated March 6, 2024 at 10:07 PM
Resolved August 19, 2019 at 10:04 AM
Reported in upstream:
As per the documentation: https://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html
```InnoDB temporarily enables standard InnoDB Monitor output under the following conditions:
A long semaphore wait
InnoDB cannot find free blocks in the buffer pool
Over 67% of the buffer pool is occupied by lock heaps or the adaptive hash index```
Monitor will be printed on error.log indefinitely which can fill disk space and crash the server.
How to repeat:
This can be reproduced by setting a very small innodb_buffer_pool_size and generating very high load on the server with sysbench.
Suggested fix:
A suggested fix can be to print the outputs in a exponentially decay manner, like a few outputs in @15 seconds interval, it starts printing @30 seconds interval, then @60 second interval and so on, until a limit in which it will continue to be printed indefinitely but less often.