Incomplete
Details
Details
Assignee
Lalit Choudhary
Lalit ChoudharyReporter
Sergei Turchanov
Sergei TurchanovUpstream Bug URL
Priority
Smart Checklist
Smart Checklist
Created April 1, 2018 at 6:02 AM
Updated March 6, 2024 at 1:33 PM
Resolved March 29, 2020 at 4:15 PM
We have 80GB Innodb buffer pool which loaded in about 5 minutes in Percona MySQL Server 5.5 (with disk read rates peaking at 1000MB/s) but it takes more than 30 minutes with current Percona 5.6.39 (disk rate steady at 30MB/s).
I did an investigation and saw that the original (5.5) implementation of Innodb buffer pool load at startup issued asynchronous io requests for tablespace pages (see: https://github.com/percona/percona-server/blob/1d6035b9f6bd98446ea1600d9535b951dad96bb2/storage/innobase/buf/buf0lru.c#L2875).
But as of MySQL 5.6 you adopted implentation from the upstream which is buggy. Oracle implementors moved async page request into buf_read_page_async function and (I think that due to a copy-paste error) replaced second parameter of buf_read_page_low from FALSE to TRUE which effectively forces read IO to be synchronous.
There is an unstream bug report for the issue https://bugs.mysql.com/bug.php?id=73583, but it ignored by Oracle.