Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.5
-
None
Description
In rare situations, it is possible, that multiple slow IO callbacks will prevent submitting new IO.
if all IO threads are callbacks are waiting (i.e number of active write and read callbacks reached maximum specified by innodb_read/write_io_threads, and all IO "slots" ((read-_threads+write_threads)*256) were submitted, then a thread would stuck waiting for a free slot.
Thus, it makes sense to release this slot earlier, prior to calling user callback. A downside is that we'd have to copy userdata (currently, 40 bytes) before releasing the slot.