diff options
author | Sergey Vojtovich <svoj@mariadb.org> | 2014-09-18 19:45:06 +0400 |
---|---|---|
committer | Sergey Vojtovich <svoj@mariadb.org> | 2014-09-18 19:45:06 +0400 |
commit | d1e46a50bc59dd42e5aae55e4e20f2548c5cf3ba (patch) | |
tree | c2567d37edf5e6297f8019e9d7d6a1e1698ccab7 /sql/sql_show.cc | |
parent | 53a44915c53a16f4c52c98227b71f44ae421025c (diff) | |
download | mariadb-git-d1e46a50bc59dd42e5aae55e4e20f2548c5cf3ba.tar.gz |
MDEV-6749 - Deadlock between GRANT/REVOKE, SELECT FROM I_S.COLUMNS,
SET slow_query_log and failed connection attempt
A very subtle though valid deadlock. Deadlock chain:
wrlock(LOCK_grant) -> lock(acl_cache->lock) GRANT/REVOKE CREATE/DROP USER
lock(LOCK_open) -> rdlock(LOCK_grant) SELECT * FROM I_S.COLUMNS
wrlock(LOCK_logger) -> lock(LOCK_open) SET @@global.slow_query_log='ON'
lock(acl_cache->lock) -> rdlock(LOCK_logger) Failed connection
Fixed by removing relationship between acl_cache->lock and LOCK_logger
during failed connection attempt.
Diffstat (limited to 'sql/sql_show.cc')
0 files changed, 0 insertions, 0 deletions