summaryrefslogtreecommitdiff
path: root/client/mysqladmin.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2018-03-16 08:23:56 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2018-03-16 08:23:56 +0200
commitca40330d1da6c1b30a33249eab546a5275a1a103 (patch)
tree3c1ccad196eb2052359861aae6a8260dc93fef01 /client/mysqladmin.cc
parentdbb3960ad8d92f3cc17527440b059bf80bf83120 (diff)
downloadmariadb-git-ca40330d1da6c1b30a33249eab546a5275a1a103.tar.gz
Fix a deadlock in thd_report_wait_for()
Unlike commit a54abf01753a69c2186d60c155212149be59a7a6 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().
Diffstat (limited to 'client/mysqladmin.cc')
0 files changed, 0 insertions, 0 deletions