[MDEV-24609] innodb_io_capacity can exceed innodb_io_capacity_max Created: 2021-01-18 Updated: 2021-01-19 Resolved: 2021-01-19 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB, Variables |
| Affects Version/s: | 10.0.15, 10.1.10, 10.2.0, 10.3.0, 10.4.0, 10.5.0 |
| Fix Version/s: | 10.2.37, 10.3.28, 10.4.18, 10.5.9 |
| Type: | Bug | Priority: | Major |
| Reporter: | Roel Van de Paar | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | debug, regression | ||
| Issue Links: |
|
||||||||
| Description |
|
Leads to:
Bug confirmed present in: Bug (or feature/syntax) confirmed not present in: 10.4 Does not crash at all on the same. There is also this:
Not sure if that is a separate off-by-one bug and/or a minor functionality bug or not. Also see |
| Comments |
| Comment by Marko Mäkelä [ 2021-01-18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Roel, I cannot repeat the assertion failure on my system, possibly due to the fact that the version that you tested is older than the
That said, can you please test the following fix?
This seems to be caused by | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Roel Van de Paar [ 2021-01-19 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Testing with latest version + alternative patch as per discussion with marko on Slack
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2021-01-19 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I think that this is simply caused by
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Roel Van de Paar [ 2021-01-19 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Confirmed that the issue is not reproducible against later versions (tested 9a08fcbf60567992971262ececee8d8429c20756), as per Marko due to the | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Roel Van de Paar [ 2021-01-19 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Also confirmed that the testcase by @marko generates same issue against non-patched build (at CLI).
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Roel Van de Paar [ 2021-01-19 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Shorter/last patch confirmed to be working. Tested with both testcases against same version.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2021-01-19 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
If innodb_io_capacity is requested to be larger than innodb_io_capacity_max and more than half the maximum value of ulong, we must not try to compute innodb_io_capacity_max=2*innodb_io_capacity because that may lead to innodb_io_capacity_max being less than innodb_io_capacity. (It makes little sense for the parameter to be that big. Even with 32-bit uint, it will take a while until some I/O system can write more than innodb_page_size<<32 bytes per second. But I will not touch that in this bug fix.) |