• Sergey Vojtovich's avatar
    MDEV-14756 - Remove trx_sys_t::rw_trx_list · d09f1469
    Sergey Vojtovich authored
    Reduce divergence between trx_sys_t::rw_trx_hash and trx_sys_t::rw_trx_list
    by not adding recovered COMMITTED transactions to trx_sys_t::rw_trx_list.
    
    Such transactions are discarded immediately without creating trx object.
    
    This also required to split rollback and cleanup phases of recovery. To
    reflect these updates the following renames happened:
    trx_rollback_or_clean_all_recovered() -> trx_rollback_all_recovered()
    trx_rollback_or_clean_is_active -> trx_rollback_is_active
    trx_rollback_or_clean_recovered() -> trx_rollback_recovered()
    trx_cleanup_at_db_startup() -> trx_cleanup_recovered()
    
    Also removed a hack from lock_trx_release_locks(). Instead let recovery
    rollback thread to skip committed XA transactions.
    d09f1469
trx0trx.cc 79.2 KB