• Marko Mäkelä's avatar
    MDEV-32588 InnoDB may hang when running out of buffer pool · 5b53342a
    Marko Mäkelä authored
    buf_flush_LRU_list_batch(): Do not skip pages that are actually clean
    but in buf_pool.flush_list due to the "lazy removal" optimization of
    commit 22b62eda, but try to evict them.
    After acquiring buf_pool.flush_list_mutex, reread oldest_modification
    to ensure that the block still remains in buf_pool.flush_list.
    
    In addition to server hangs, this bug could also cause
    InnoDB: Failing assertion: list.count > 0
    in invocations of UT_LIST_REMOVE(flush_list, ...).
    
    This fixes a regression that was caused by
    commit a55b951e
    and possibly made more likely to hit due to
    commit aa719b50.
    5b53342a
buf0flu.cc 80.5 KB