• Vladislav Vaintroub's avatar
    MDEV-15707 : deadlock in Innodb IO code, caused by change buffering. · 7b16291c
    Vladislav Vaintroub authored
    In async IO completion code, after reading a page,Innodb can wait for
    completion of other bufferpool reads.
    This is for example what happens if change-buffering is active.
    
    Innodb on Windows could deadlock, as it did not have dedicated threads
    for processing change buffer asynchronous reads.
    
    The fix for that is to have windows now has the same background threads,
    including dedicated thread for ibuf, and log AIOs.
    
    The ibuf/read completions are now dispatched to their threads with
    PostQueuedCompletionStatus(), the write and log completions are processed
    in thread where they arrive.
    7b16291c
mdev-15707.result 750 Bytes