← Back to team overview

maria-developers team mailing list archive

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