• Marko Mäkelä's avatar
    MDEV-32757 innodb_undo_log_truncate=ON is not crash safe · a0f02f74
    Marko Mäkelä authored
    trx_purge_truncate_history(): Do not prematurely mark dirty pages
    as clean. This will be done in mtr_t::commit_shrink() as part of
    Shrink::operator()(mtr_memo_slot_t*). Also, register each dirty page
    only once in the mini-transaction.
    
    fsp_page_create(): Adjust and simplify the page creation during
    undo tablespace truncation. We can directly reuse pages that are
    already in buf_pool.page_hash.
    
    This fixes a regression that was caused by
    commit f5794e1d (MDEV-26445).
    
    Tested by: Matthias Leich
    Reviewed by: Thirunarayanan Balathandayuthapani
    a0f02f74
trx0purge.cc 36.3 KB