• Marko Mäkelä's avatar
    MDEV-24731 Excessive mutex contention in DeadlockChecker::check_and_resolve() · 5f463857
    Marko Mäkelä authored
    The DeadlockChecker expects to be able to freeze the waits-for graph.
    Hence, it is best executed somewhere where we are not holding any
    additional mutexes.
    
    lock_wait(): Defer the deadlock check to this function, instead
    of executing it in lock_rec_enqueue_waiting(), lock_table_enqueue_waiting().
    
    DeadlockChecker::trx_rollback(): Merge with the only caller,
    check_and_resolve().
    
    LockMutexGuard: RAII accessor for lock_sys.mutex.
    
    lock_sys.deadlocks: Replaces lock_deadlock_found.
    
    trx_t: Clean up some comments.
    5f463857
xa.result 15.5 KB