mariadb/storage/innobase/lock
Marko Mäkelä ca40330d1d Fix a deadlock in thd_report_wait_for()
Unlike commit a54abf0175 claimed,
the caller of THD::awake() may actually hold the InnoDB lock_sys->mutex.
That commit introduced a deadlock of threads in the replication slave
when running the test rpl.rpl_parallel_optimistic_nobinlog.

lock_trx_handle_wait(): Expect the callers to acquire and release
lock_sys->mutex and trx->mutex.

innobase_kill_query(): Restore the logic for conditionally acquiring
and releasing the mutexes. THD::awake() can be called from inside
InnoDB while holding one or both mutexes, via thd_report_wait_for() and
via wsrep_innobase_kill_one_trx().
2018-03-16 08:23:56 +02:00
..
lock0iter.cc move to storage/innobase 2015-05-04 19:17:21 +02:00
lock0lock.cc Fix a deadlock in thd_report_wait_for() 2018-03-16 08:23:56 +02:00
lock0wait.cc MDEV-12837: WSREP: BF lock wait long 2017-12-09 11:20:46 +02:00