MDEV-27058 fixup: Bogus assertion !block->page.is_io_fixed()
buf_page_get_gen(): After recv_sys_t::recover_low() returned, the page must not be read-fixed, but it may be write-fixed, because the io-fix state is protected by block->page.lock, which we are not holding yet. Also, let us copy the block descriptor state to a local variable for examination, so that in case an assertion would fail again, we will have the sampled state in the core dump. In a core dump of the assertion failure, we had block->page.fix() == buf_page_t::UNFIXED, that is, the assertion expression was holding again.
Showing
Please register or sign in to comment