• Marko Mäkelä's avatar
    MDEV-15326 after-merge fixes · 2c9e75cc
    Marko Mäkelä authored
    trx_t::is_recovered: Revert most of the changes that were made by the
    merge of MDEV-15326 from 10.2. The trx_sys.rw_trx_hash and the recovery
    of transactions at startup is quite different in 10.3.
    
    trx_free_at_shutdown(): Avoid excessive mutex protection. Reading fields
    that can only be modified by the current thread (owning the transaction)
    can be done outside mutex.
    
    trx_t::commit_state(): Restore a tighter assertion.
    
    trx_rollback_recovered(): Clarify why there is no potential race condition
    with other transactions.
    
    lock_trx_release_locks(): Merge with trx_t::release_locks(),
    and avoid holding lock_sys.mutex unnecessarily long.
    
    rw_trx_hash_t::find(): Remove redundant code, and avoid starving the
    committer by checking trx_t::state before trx_t::reference().
    2c9e75cc
trx0roll.cc 32.3 KB