[MDEV-77] Possible deadlock in innodb buffer pool on Windows Created: 2012-01-08 Updated: 2020-05-15 Resolved: 2018-04-06 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 5.5.20, 5.3.4, 5.5, 10.0, 10.1, 10.2 |
| Fix Version/s: | 5.3.4 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Vladislav Vaintroub | Assignee: | Vladislav Vaintroub |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Description |
|
With current asynchronous IO handling, it is possible to deadlock Innodb. The deadlock can happen in the case all Innodb IO threads are handling completion of async reads, and as part of completion routine do insert buffer processing merges. Attachment contains callstacks taken from the process dump in one such case (note all IO threads are blocked waiting for a buffer pool page) |
| Comments |
| Comment by Vladislav Vaintroub [ 2018-04-04 ] | ||||
|
Looking back, this was not fixed properly, Now we have read and write io threads, but we still can have all read io threads wait for IBUF completion. IBUF needs own thread | ||||
| Comment by Vladislav Vaintroub [ 2018-04-04 ] | ||||
|
Reproduced in 10.2, running sysbench 0.4 with small bufferpool 20MB
| ||||
| Comment by Vladislav Vaintroub [ 2018-04-06 ] | ||||
|
Surprisingly, cannot reproduce prior to 10.1. Will re-close the bug, and continuing in |