[MDEV-24109] InnoDB hangs with innodb_flush_sync=OFF Created: 2020-11-03 Updated: 2020-12-04 Resolved: 2020-11-04 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.5.7 |
| Fix Version/s: | 10.5.9 |
| Type: | Bug | Priority: | Major |
| Reporter: | Matthias Leich | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | bootstrap, not-10.2, not-10.3, not-10.4 | ||
| Issue Links: |
|
||||||||||||||||
| Description |
|
|
| Comments |
| Comment by Marko Mäkelä [ 2020-11-04 ] | ||
|
mleich, the stated 10.5 revision does not include the fix of
will hang on bootstrap. I changed this report to cover innodb_flush_sync=OFF only, because innodb_random_read_ahead=ON was already covered by I confirm the hang with innodb_flush_sync=0 with the latest 10.5. During the early development of Curiously, for the following invocation, the parameter appears to be ignored for some reason:
This might be the reason why I failed to catch this regression later. I think that a proper fix is to let the page cleaner thread handle the checkpoint flushing also in the innodb_flush_sync=OFF case, and limit the write rate to innodb_io_capacity_max pages per second. With the default innodb_flush_sync=ON setting, we would attempt to write out up to innodb_io_capacity_max pages that were modified before the target checkpoint LSN, and then perform a checkpoint, and keep looping until the target has been met. With this bug fixed, innodb_flush_sync=OFF would do the same, except that we may pause between the batches so that the rate of innodb_io_capacity_max pages per second will not be exceeded. |