Backoff for sync preflushes
Currently if a log-writing thread finds that the checkpoint age is in the sync preflush zone, it will attempt to advance the checkpoint itself by issuing a flush list flush batch unless one is running already. After the page cleaner tuning [1] this feature hinders more than helps: the cleaner thread knows that the system is in sync preflush and will perform furious flushing itself. The thread doing its own flushes will only contribute to mutex pressure and use CPU. It is better for the query threads to wait for any required flushes to complete instead.
[1] is a prerequisite, even though the page cleaner would have performed the necessary flusing in its stock version too, is that with [1] fixes the cleaner will not be performing LRU flushing too long, prolonging the needing log space query thread wait.
Implement by adjusting log_preflush_
[1] https:/
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- High
- Drafter:
- Laurynas Biveinis
- Direction:
- Approved
- Assignee:
- Laurynas Biveinis
- Definition:
- Approved
- Series goal:
- Accepted for 5.6
- Implementation:
- Implemented
- Milestone target:
- 5.6.13-61.0
- Started by
- Laurynas Biveinis
- Completed by
- Laurynas Biveinis
Related branches
Related bugs
Bug #1236884: thread convoys from log_checkpoint_margin with innodb_buffer_pool_instances > 1 | Fix Released |
Sprints
Whiteboard
Work Items
Dependency tree
* Blueprints in grey have been implemented.