Re: [Maria-developers] MDEV-5792 - Deadlock between SELECTs from METADATA_LOCK_INFO and another
![](https://secure.gravatar.com/avatar/39b623a1559cf9c69ac3d9d4fb44e7fe.jpg?s=120&d=mm&r=g)
Hi, Sergey! On Apr 23, Sergey Vojtovich wrote:
At lp:maria/10.0
------------------------------------------------------------ revno: 4155 revision-id: svoj@mariadb.org-20140423073406-o20n7jvwfjinvxxr parent: psergey@askmonty.org-20140418100754-v5b5sdqbavbcznh7 committer: Sergey Vojtovich
branch nick: 10.0-mdev5792 timestamp: Wed 2014-04-23 11:34:06 +0400 message: MDEV-5792 - Deadlock between SELECTs from METADATA_LOCK_INFO and another I_S table mdl_iterate() helper function (which is used by the plugin to iterate mdl locks) acquired mutexes in reverse order.
Fixed by iterating MDL locks in two stages: 1. Iterate locks hash under the protection of hash mutex, store all lock pointers in a thread local array and increment reference counter for the lock. 2. Iterate local array without protection of hash mutex, handle destroyed locks.
It somewhat echoes hack in MDL_map_partition::move_from_hash_to_lock_mutex.
Looks ok to me. Regards, Sergei
participants (1)
-
Sergei Golubchik