• Marko Mäkelä's avatar
    MDEV-27500 buf_page_free() fails to drop the adaptive hash index · c104a01b
    Marko Mäkelä authored
    The function buf_page_free() that was introduced
    in commit a35b4ae8 (MDEV-15528)
    failed to remove any adaptive hash index entries for the page
    before freeing the page.
    
    This caused an assertion failure on shutdown of 10.6 server of
    in the function buf_pool_t::clear_hash_index() with the expression:
    (s >= buf_page_t::UNFIXED || s == buf_page_t::REMOVE_HASH).
    The assertion would fail for a block that is in the freed state.
    
    The failing assertion was added in
    commit aaef2e1d
    in the 10.6 branch.
    
    Thanks to Matthias Leich for finding the bug and testing the fix.
    c104a01b
buf0buf.cc 135 KB