• Marko Mäkelä's avatar
    MDEV-24054 Assertion in_LRU_list failed in buf_flush_try_neighbors() · b0ff7916
    Marko Mäkelä authored
    buf_flush_try_neighbors(): Before invoking buf_page_t::ready_for_flush(),
    check that the freshly looked up buf_pool.page_hash entry actually is
    a buffer page and not a buf_pool.watch[] sentinel for purge buffering.
    
    This race condition was introduced in MDEV-15053
    (commit b1ab211d).
    It is rather hard to hit this bug, because
    buf_flush_check_neighbors() already checked the condition.
    The problem exists if buf_pool.watch_set() was invoked for
    a page in the range after the check in buf_flush_check_neighbor()
    had been finished.
    b0ff7916
buf0flu.cc 70.1 KB