MDEV-22139 fseg_free_page_low() fails to write FREE_PAGE record, breaking recovery
This bug was introduced by MDEV-15528 commit a35b4ae8. In the case that I analyzed, we failed to apply an EXTENDED,INSERT_REUSE_REDUNDANT redo log record whose preceding record points to unallocated area after PAGE_HEAP_TOP. Had we properly written the FREE_PAGE record for the page, recovery would have processed it, because during the checkpoint, the log had been completely written past the LSN of the missed write. fseg_free_page_low(): Always invoke mtr_t::free(). The other call is in fsp_free_page().
Showing
Please register or sign in to comment