maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #06985
Re: [Commits] Rev 4066: MDEV-5089 - possible deadlocks between rwlocks and mutexes
Hi, Sergey!
On Feb 13, Sergey Vojtovich wrote:
> revno: 4066
> revision-id: svoj@xxxxxxxxxxx-20140213074049-70zbqa98y95sfpox
> parent: sanja@xxxxxxxxxxxx-20140212150705-e1tfabmhjggqws7q
> committer: Sergey Vojtovich <svoj@xxxxxxxxxxx>
> branch nick: 5.5
> timestamp: Thu 2014-02-13 11:40:49 +0400
> message:
> MDEV-5089 - possible deadlocks between rwlocks and mutexes
>
> Pre-MDL versions had direct relationship between LOCK_open and
> LOCK_global_system_variables, e.g.:
> intern_sys_var_ptr // locks LOCK_global_system_variable
> mysql_sys_var_char
> create_options_are_valid
> ha_innobase::create
> handler::ha_create
> ha_create_table
> rea_create_table
> mysql_create_table_no_lock // locks LOCK_open
> mysql_create_table
>
> With MDL this relationship was removed, but mutex order was still
> recorded. In fact there is indirect relationship between LOCK_open
> and LOCK_global_system_variables via rwlocks in reverse order.
>
> Removed LOCK_open and LOCK_global_system_variables order recording,
> instead assert that LOCK_open is never held in intern_sys_var_ptr().
>
> This solves only one of many problems detected with MDEV-5089.
Looks good, thanks!
ok to push!
Regards,
Sergei