• Marko Mäkelä's avatar
    MDEV-31234 InnoDB does not free UNDO after the fix of MDEV-30671 · 318012a8
    Marko Mäkelä authored
    trx_purge_truncate_history(): Only call trx_purge_truncate_rseg_history()
    if the rollback segment is safe to process. This will avoid leaking undo
    log pages that are not yet ready to be processed. This fixes a regression
    that was introduced in
    commit 0de3be8c (MDEV-30671).
    
    trx_sys_t::any_active_transactions(): Separately count XA PREPARE
    transactions.
    
    srv_purge_should_exit(): Terminate slow shutdown if the history size
    does not change and XA PREPARE transactions exist in the system.
    This will avoid a hang of the test innodb.recovery_shutdown.
    
    Tested by: Matthias Leich
    318012a8
trx0purge.cc 36.2 KB