1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00
Files
mariadb/mysql-test/suite/perfschema/r
Kristian Nielsen ba02550166 MDEV-7818: Deadlock occurring with parallel replication and FTWRL
Problem is that FLUSH TABLES WITH READ LOCK first blocks threads from
starting new commits, then waits for running commits to complete. But
in-order parallel replication needs commits to happen in a particular
order, so this can easily deadlock.

To fix this problem, this patch introduces a way to temporarily pause
the parallel replication worker threads. Before starting FTWRL, we let
all worker threads complete in-progress transactions, and then
wait. Then we proceed to take the global read lock. Once the lock is
obtained, we unpause the worker threads. Now commits are blocked from
starting by the global read lock, so the deadlock will no longer occur.
2015-11-13 14:02:15 +01:00
..
2014-05-07 10:04:30 +02:00
2013-07-21 16:39:19 +02:00
2015-08-03 13:05:40 +02:00
2014-05-07 10:04:30 +02:00
2014-05-07 10:04:30 +02:00
2014-05-07 16:12:16 +02:00
2015-08-03 13:05:40 +02:00
2014-05-07 16:12:16 +02:00
2014-05-09 12:35:11 +02:00
2014-05-07 10:04:30 +02:00
2014-05-07 10:04:30 +02:00
2014-05-07 10:04:30 +02:00
2014-05-07 10:04:30 +02:00
2014-05-07 10:04:30 +02:00
2015-10-09 17:22:53 +02:00
2014-05-07 10:04:30 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2014-05-09 12:35:11 +02:00
2014-05-09 12:35:11 +02:00
2014-05-09 12:35:11 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-08-03 13:05:40 +02:00
2015-06-16 11:00:33 +02:00
2015-08-03 13:05:40 +02:00