Bug #53625 | Deadlock with log_output=TABLE, partitioned table, trigger and auto-inc | ||
---|---|---|---|
Submitted: | 13 May 2010 17:46 | Modified: | 4 Feb 2011 16:17 |
Reporter: | Elena Stepanova | Email Updates: | |
Status: | Won't fix | Impact on me: | |
Category: | MySQL Server: Locking | Severity: | S2 (Serious) |
Version: | 5.1.49, 5.5.3-m3, 5.6.99 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[13 May 2010 17:46]
Elena Stepanova
[13 May 2010 17:48]
Elena Stepanova
bt for all threads
Attachment: 53625_threads.out (application/octet-stream, text), 27.33 KiB.
[13 May 2010 17:48]
Elena Stepanova
bt full for all threads
Attachment: 53625_threads_full.out (application/octet-stream, text), 89.33 KiB.
[13 May 2010 17:49]
Elena Stepanova
mysql-stress-test-based test
Attachment: 53625_stress_test_basedir.tar.gz (application/gzip, text), 14.38 KiB.
[14 May 2010 6:47]
Marc ALFF
Elena, starting with 5.5, the performance schema can also provide details about the dead lock. Have you tried to see: - what each thread waits for (SELECT * from EVENTS_WAITS_CURRENT) - who locks each mutex (SELECT * from MUTEX_INSTANCES) from another connection ? This will help to narrow down the bug.
[14 May 2010 8:51]
Elena Stepanova
Hi Marc, The problem is that as soon as the deadlock happens, I cannot connect to the server anymore, and if I already have a connection, I cannot execute a query, including those from P_S.
[14 May 2010 9:11]
Elena Stepanova
Another note on versions: with the provided test case, I get the deadlock regularly on 5.5.3-m3 and current 5.5.5, but could not reproduce it so far on 5.5.4-m3.
[14 May 2010 11:19]
Philip Stoev
Not being able to connect and not being able to issue commands is typical for deadlocks where log_output=TABLE, because the log table gets locked out too. The solution is to connect the client before the deadlock has formed and issue SET SESSION log_output=file . SHOW PROCESSLIST and selecting from PERFORMANCE SCHEMA should then work.
[14 May 2010 11:35]
Elena Stepanova
I thought about it before, but the manual (http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_log-output) says that the scope of log_output variable is only global, so I did not try. I can still check it out if there is a suspicion it can be set on session level.
[12 Jul 2010 18:28]
Elena Stepanova
Could not reproduce it on the final version of 5.5.5-m3 -- there have been some changes in the area (e.g. WL#5419, bug#50589, etc.), apparently the problem was along with them; not closing it though because it is still easily reproducible on current 5.1.
[4 Feb 2011 16:18]
Omer Barnir
Issue is addressed in 5.5