long semaphore wait after upgrade and enabling GTID replication
Bug #1391660 reported by
shinguz
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS |
New
|
Undecided
|
Unassigned |
Bug Description
After upgrade from Percona Server 5.5.38 to 5.6.21 and enabling GTID replication after a while we had the problem of long semaphore waits.
After a restart of the database and disabling GTID replication again the problem disappeared for a while. But some hours later the problem occured again starting with Max connection reached error and long semaphore waits.
See shortened mysql error log.
We are waiting for the next occurance and consider a downgrade again.
Changed in percona-server: | |
status: | Incomplete → New |
To post a comment you must log in.
Thank you for the problem report. Please, share your my.cnf file content or the output of SHOW GLOBAL VARIABLES from this instance.
I see the following in the error log:
Main thread process no. 11074, id 139789062067968, state: enforcing dict cache limit
So, main thread is calling srv_master_ evict_from_ table_cache( ) and thus also calls dict_mutex_ enter_for_ mysql() .
Long waits ( lock_wait_ mutex_enter( );) happen in lock_wait_ suspend_ thread( ) and lock_wait_ table_release_ slot(). There must be some other thread that holds that mutex. The only other place where it's taken, as far as I can see, is in
os_thread_ret_t THREAD( lock_wait_ timeout_ thread) ()
DECLARE_
function.
So, somehow I think you maybe hit some memory limit for the number of transactions and locks used. See also these upstream reports for any similarity to your use case:
http:// bugs.mysql. com/bug. php?id= 71511 bugs.mysql. com/bug. php?id= 73322
http://
Both were reported for 5.6 and have unclear status.
If this long wait happens again, please, get the output of pt-pmp, so that we get more information about call sequences in threads. As a workaround I suggest