List:Internals« Previous MessageNext Message »
From:Tor Didriksen Date:May 6 2014 6:27am
Subject:Re: Incorrect locking for global_query_id
View as plain text  
On 2014-05-06 01:12, Stewart Smith wrote:
> So, the Register link for creating a account still
> doesn't work, so i'm filing a bug here:
> Found in MySQl 5.6.17,
> In sql/
> bool sp_head::execute_function(THD *thd, Item **argp, uint argcount,
> We have this code:
>      mysql_mutex_lock(&LOCK_thread_count);
>      q= global_query_id;
>      mysql_mutex_unlock(&LOCK_thread_count);
> Which is incorrect.

This goes all the way back to 5.0, when it was in fact correct.
That mutex was used to protect all sorts of things, including 

Seems like it was broken sometime during development of 6.0
which never materialized as a product,
but parts of it were backported to 5.5

> It should at least by a my_atomic_load64 with the appropriate lock
> things around it.

Which is what we do in 5.7

> I haven't looked at if the mysql_bin.log.start_union_events(thd, q+1) is
> correct or not.

-- didrik

Incorrect locking for global_query_idStewart Smith5 May
  • Re: Incorrect locking for global_query_idTor Didriksen6 May
    • Re: Incorrect locking for global_query_idStewart Smith6 May
  • Re: Incorrect locking for global_query_idDmitry Lenev6 May
    • Re: Incorrect locking for global_query_idStewart Smith6 May