Bug #71988 | page_cleaner: aggressive background flushing | ||
---|---|---|---|
Submitted: | 9 Mar 2014 21:32 | Modified: | 26 Mar 2014 21:40 |
Reporter: | Inaam Rana (OCA) | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S3 (Non-critical) |
Version: | 5.6 | OS: | Any |
Assigned to: | Assigned Account | CPU Architecture: | Any |
[9 Mar 2014 21:32]
Inaam Rana
[10 Mar 2014 5:14]
MySQL Verification Team
Hello Inaam, Thank you for the bug report. Thanks, Umesh
[10 Mar 2014 12:51]
Laurynas Biveinis
Related: bug 70500, and https://bugs.launchpad.net/percona-server/+bug/1238039 (" Spurious innodb_io_capacity-sized flush list flushes on a loaded server"), which deals with the same end result, but was never reported for Oracle MySQL, because of different sleep heuristics (our way to bring back "furious flushing" for 5.6, see bug 68481).
[10 Mar 2014 12:57]
Laurynas Biveinis
Since we keep 'sleep-if-this-or-that', our fix tracks the time of the last server activity read, and assumes inactive server only if no activity bump in at least one second. Can submit it by OCA if you wish.
[25 Mar 2014 13:53]
Inaam Rana
One way to deal with this is to make background flushing more laid back. For example, do background flushing if server has been idle for, say, 10 seconds. Background flushing is not an urgent task and in some cases it may even not be a desirable task. We don't need to rush to background flushing whenever we notice a glimpse of idleness in server.
[26 Mar 2014 21:40]
Inaam Rana
related bug#72137
[30 Oct 2014 8:46]
Laurynas Biveinis
By code analysis 5.7.5 seems to be affected the same.
[30 Oct 2014 9:18]
Laurynas Biveinis
No, it is not, sorry. New activity value is saved only if ret_sleep == OS_SYNC_TIME_EXCEEDED, meaning at least one second has passed since the last save, which handles the quick LRU evicting iterations fine. If I'm not wrong then this bug is fixed in 5.7.