• Marko Mäkelä's avatar
    MDEV-30134 Assertion failed in buf_page_t::unfix() in buf_pool_t::watch_unset() · 54c0ac72
    Marko Mäkelä authored
    buf_pool_t::watch_set(): Always buffer-fix a block if one was found,
    no matter if it is a watch sentinel or a buffer page. The type of
    the block descriptor will be rechecked in buf_page_t::watch_unset().
    Do not expect the caller to acquire the page hash latch. Starting with
    commit bd5a6403 it is safe to release
    buf_pool.mutex before acquiring a buf_pool.page_hash latch.
    
    buf_page_get_low(): Adjust to the changed buf_pool_t::watch_set().
    
    This simplifies the logic and fixes a bug that was reproduced when
    using debug builds and the setting innodb_change_buffering_debug=1.
    54c0ac72
buf0buf.cc 117 KB