1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-31 22:22:30 +03:00
Files
mariadb/sql
Dmitry Lenev 22bc48b280 Fix for bug #51134 "Crash in MDL_lock::destroy on a concurrent
DDL workload".

When a RENAME TABLE or LOCK TABLE ... WRITE statement which
mentioned the same table several times were aborted during 
the process of acquring metadata locks (due to deadlock 
which was discovered or because of KILL statement) server 
might have crashed.

When attempt to acquire all locks requested had failed we
went through the list of requests and released locks which
we have managed to acquire by that moment one by one. Since 
in the scenario described above list of requests contained 
duplicates this led to releasing the same ticket twice and 
a crash as result.

This patch solves the problem by employing different approach
to releasing locks in case of failure to acquire all locks
requested. 
Now we take a MDL savepoint before starting acquiring locks 
and simply rollback to it if things go bad.
2010-02-15 13:23:34 +03:00
..
2010-02-06 13:28:06 +03:00
2010-01-06 22:42:07 -07:00
2010-02-06 13:28:06 +03:00
2009-09-29 17:38:40 +02:00
2010-01-06 22:42:07 -07:00
2010-01-06 22:42:07 -07:00
2010-01-06 22:42:07 -07:00
2010-01-06 22:42:07 -07:00
2010-01-06 22:42:07 -07:00
2010-02-06 13:28:06 +03:00
2010-01-06 22:42:07 -07:00
2010-01-19 19:36:14 +03:00
2010-02-06 13:28:06 +03:00
2010-02-06 13:28:06 +03:00
2010-01-06 22:42:07 -07:00
2010-02-06 13:28:06 +03:00
2010-02-06 13:28:06 +03:00
2010-02-05 01:08:08 +03:00
2010-02-04 00:48:40 +03:00
2010-01-06 22:42:07 -07:00
2010-01-06 22:42:07 -07:00
2009-11-24 16:54:59 +03:00
2010-01-13 12:28:42 +02:00
2010-01-13 12:28:42 +02:00
2010-01-27 22:15:32 +03:00
2010-01-19 19:36:14 +03:00
2010-02-05 01:08:08 +03:00
2010-02-05 01:08:08 +03:00
2010-02-06 13:28:06 +03:00
2010-02-06 13:28:06 +03:00
2010-02-06 13:28:06 +03:00
2009-09-10 03:18:29 -06:00
2010-02-06 13:28:06 +03:00
2008-11-22 01:10:38 +01:00
2009-11-24 16:54:59 +03:00
2010-01-06 22:42:07 -07:00
2009-10-28 18:32:48 +01:00
2009-06-01 16:00:38 +04:00
2009-10-28 10:55:44 +03:00
2009-10-28 10:55:44 +03:00
2009-11-06 19:13:33 +03:00
2010-01-06 22:42:07 -07:00
2009-12-09 20:19:51 -07:00
2009-10-14 20:37:38 +04:00
2009-09-26 12:49:49 +08:00
2010-02-06 13:28:06 +03:00
2009-10-14 15:14:58 +04:00
2010-01-06 22:42:07 -07:00
2010-01-06 22:42:07 -07:00
2010-01-06 22:42:07 -07:00
2010-01-06 22:42:07 -07:00
2010-02-03 16:43:03 +03:00
2010-02-05 01:08:08 +03:00
2009-12-11 12:39:38 +03:00
2009-10-14 20:37:38 +04:00
2010-01-11 18:47:27 -07:00
2010-02-03 16:43:03 +03:00
2010-02-05 01:08:08 +03:00
2010-01-11 18:47:27 -07:00
2010-02-02 02:22:16 +03:00
2009-12-29 15:19:05 +03:00
2010-02-06 13:28:06 +03:00
2010-02-05 01:08:08 +03:00
2009-11-24 16:54:59 +03:00
2009-12-18 16:44:24 -02:00
2009-12-11 12:39:38 +03:00
2009-09-10 03:18:29 -06:00
2010-02-06 13:28:06 +03:00
2010-02-04 00:48:40 +03:00
2009-06-17 16:56:44 +02:00
2010-02-06 13:28:06 +03:00
2010-01-06 22:42:07 -07:00
2009-06-17 16:56:44 +02:00
2009-12-16 15:56:36 +04:00
2010-02-03 16:43:03 +03:00
2010-01-06 22:42:07 -07:00
2010-01-25 19:48:45 +03:00
2010-02-03 03:06:42 +03:00
2010-02-06 13:28:06 +03:00
2009-12-03 21:37:38 +03:00
2009-10-23 15:22:21 +04:00
2010-02-05 01:08:08 +03:00
2010-01-12 12:32:55 +01:00
2010-02-06 13:28:06 +03:00
2010-01-06 22:42:07 -07:00
2010-01-06 22:42:07 -07:00
2010-02-06 13:28:06 +03:00
2010-02-06 13:28:06 +03:00
2010-01-06 22:42:07 -07:00
2010-02-06 13:28:06 +03:00
2010-02-03 03:06:42 +03:00
2009-12-03 00:24:10 +03:00
2010-02-04 23:15:47 +03:00
2010-02-04 23:15:47 +03:00
2010-02-06 13:28:06 +03:00
2010-02-06 13:28:06 +03:00
2009-09-10 03:18:29 -06:00
2009-09-10 03:18:29 -06:00
2010-02-04 23:15:47 +03:00
2010-02-06 13:28:06 +03:00
2010-02-04 23:15:47 +03:00
2009-12-08 17:13:12 +03:00
2010-02-06 13:28:06 +03:00
2010-02-05 01:08:08 +03:00
2010-01-06 22:42:07 -07:00
2010-01-06 22:42:07 -07:00
2010-02-06 13:28:06 +03:00
2010-02-03 16:43:03 +03:00
2009-09-10 03:18:29 -06:00
2009-11-06 17:20:27 +03:00
2010-02-03 03:06:42 +03:00
2009-12-03 21:37:38 +03:00
2010-02-03 16:43:03 +03:00
2009-11-24 16:54:59 +03:00
2009-11-24 16:54:59 +03:00
2010-01-06 22:42:07 -07:00
2010-01-15 15:42:15 +04:00