[MDEV-30216] Read-ahead unnecessarily allocates and frees pages when a page is in the buffer pool Created: 2022-12-13 Updated: 2024-01-05 Resolved: 2023-01-24 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10, 10.11 |
| Fix Version/s: | 11.0.1 |
| Type: | Bug | Priority: | Major |
| Reporter: | Marko Mäkelä | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | performance | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Description |
|
While testing The code has been refactored in 10.5 and 10.6, but this does not look like a regression: the logic always seems to have been like that. Thanks to the refactored buf_pool.page_hash in 10.5 ( |
| Comments |
| Comment by Marko Mäkelä [ 2022-12-13 ] |
|
This change is easier to implement after removing the InnoDB change buffer ( |
| Comment by Marko Mäkelä [ 2022-12-16 ] |
|
The additional buf_pool.page_hash lookups in my initial fix might cause some regression in the case when none of the pages that are submitted for read-ahead exist in the buffer pool. It could be revised further as follows:
|
| Comment by Matthias Leich [ 2023-01-24 ] |
|
origin/bb-10.11- |