Bug #97870 | bugs when simulator AIO find free slot in it's slots | ||
---|---|---|---|
Submitted: | 3 Dec 2019 22:32 | Modified: | 4 Dec 2019 13:36 |
Reporter: | Zongzhi Chen (OCA) | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S3 (Non-critical) |
Version: | ALL | OS: | Linux |
Assigned to: | CPU Architecture: | Any |
[3 Dec 2019 22:32]
Zongzhi Chen
[4 Dec 2019 13:23]
MySQL Verification Team
Hello Mr. zongzhi, Thank you for your bug report. However, in my humble opinion, this is not a bug. Simply, search starts from the position before which there are few or none contiguous blocks. That is how InnoDB is designed and how it will, most likely, remain. Your proposition would slow down this storage engine considerably and that is not what majority of our customers and users would like to experience. If you have an argument of how to do what you propose, without affecting speed of execution, let us know.
[4 Dec 2019 13:36]
MySQL Verification Team
Hi Mr. zongzhi, On further inspection, it turns out that you got confused. The loop uses `counter` variable to know how many iterations to perform, and it performs m_slots.size() iterations, so as many as there are slots: ++++++++++++++++++++++++++++++++++++++++++++++++++ ulint counter = 0; ... for (...; counter < m_slots.size(); ... ++counter) { ++++++++++++++++++++++++++++++++++++++++++++++++++ The variable `i` is the index of slot considered, and it wraps around thanks to the line i %= m_slots.size(); So, all slots will be considered. Not a bug.