1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-03 05:41:09 +03:00
Files
mariadb/mysql-test/suite/innodb/r
Thirunarayanan Balathandayuthapani 64900e3d7c MDEV-15641 InnoDB crash while committing table-rebuilding ALTER TABLE
Problem:
========
 There is a possibility that there can be more concurrent DMLs While the
alter table thread is waiting for upgrading to MDL_EXCLUSIVE before commit phase.
In commit phase, InnoDB acquires dict_operation_lock and it already holds MDL_EXCLUSIVE
on the table. After that, InnoDB applies the concurrent DML logs in commit phase.
This could lead to blocking of the following things:

  1) DML on the particular table (due to MDL_EXCLUSIVE on the table)
  2) InnoDB DDLs (due to dict_operation_lock)
  3) Purge thread, stats thread, the master thread (due to dict_operation_lock)

Fix:
====
Apply the concurrent DML logs in commit phase but before acquiring
dict_operation_lock in commit phase. It makes sure that (2), (3) can't be
blocked for longer time.
2019-07-10 12:43:51 +05:30
..
2014-08-02 21:26:16 +02:00
2019-04-25 09:04:09 +03:00
2019-05-10 08:02:21 +03:00
2017-02-10 06:30:42 -05:00
2017-02-10 06:30:42 -05:00
2017-04-06 09:52:25 +03:00
2017-10-25 17:17:21 +03:00
2018-12-29 11:05:26 +02:00
2018-06-06 11:25:33 +03:00
2018-08-02 08:19:57 +03:00
2016-12-30 13:48:22 +02:00
2017-02-10 06:30:42 -05:00
2018-02-08 13:53:21 +02:00
2018-02-08 13:53:21 +02:00
2017-02-10 06:30:42 -05:00
2019-05-04 17:04:55 +02:00