1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-31 22:22:30 +03:00
Files
mariadb/mysql-test/t
Jon Olav Hauglid b4593605e0 Bug #54360 Deadlock DROP/ALTER/CREATE DATABASE with open HANDLER
This deadlock happened if DROP DATABASE was blocked due to an open
HANDLER table from a different connection. While DROP DATABASE
is blocked, it holds the LOCK_mysql_create_db mutex. This results
in a deadlock if the connection with the open HANDLER table tries
to execute a CREATE/ALTER/DROP DATABASE statement as they all
try to acquire LOCK_mysql_create_db.

This patch makes this deadlock scenario very unlikely by closing and
marking for re-open all HANDLER tables for which there are pending
conflicing locks, before LOCK_mysql_create_db is acquired.
However, there is still a very slight possibility that a connection
could access one of these HANDLER tables between closing/marking for
re-open and the acquisition of LOCK_mysql_create_db.

This patch is for 5.1 only, a separate and complete fix will be
made for 5.5+.

Test case added to schema.test.
2010-06-26 19:36:00 +02:00
..
2009-08-20 14:30:59 +02:00
2009-02-09 22:00:15 +01:00
2010-02-25 23:13:11 +04:00
2009-02-09 22:00:15 +01:00
2009-09-29 17:38:40 +02:00
2009-03-27 10:18:06 +08:00
2009-02-06 18:25:08 +01:00
2009-01-23 13:22:05 +01:00
2009-12-11 16:02:47 +02:00
2009-05-06 15:00:14 +05:30
2009-09-02 18:58:17 +02:00
2009-04-09 14:38:50 +05:00
2010-06-01 11:54:06 +04:00
2010-04-27 00:46:52 +04:00
2009-10-20 11:00:07 -07:00
2010-06-09 11:29:27 +03:00
2009-12-17 12:06:36 -08:00
2010-01-29 16:54:27 +02:00
2009-12-10 17:38:01 +02:00
2009-02-03 14:45:17 +01:00
2009-08-12 12:03:05 +02:00
2010-03-12 11:52:38 +01:00
2010-01-15 10:51:39 +02:00
2009-07-03 10:19:32 +02:00
2009-11-27 18:10:28 +02:00
2009-12-23 17:44:03 +04:00
2009-06-10 11:58:36 +03:00
2009-02-19 18:24:25 -05:00
2009-01-31 02:08:41 +01:00
2009-12-22 14:38:33 +04:00
2010-06-04 17:10:22 +03:00