mariadb/storage/innobase/handler
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
..
ha_innodb.cc MDEV-16222 Assertion `0' failed in row_purge_remove_sec_if_poss_leaf on table with virtual columns and indexes 2019-07-08 20:14:51 +03:00
ha_innodb.h MDEV-19292 "Row size too large" error when creating table with lots columns when row format is DYNAMIC or COMPRESSED 2019-07-05 17:02:21 +03:00
ha_xtradb.h Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
handler0alter.cc MDEV-15641 InnoDB crash while committing table-rebuilding ALTER TABLE 2019-07-10 12:43:51 +05:30
i_s.cc Declare INFORMATION_SCHEMA.INNODB_SYS_VIRTUAL stable 2019-05-24 10:22:34 +03:00
i_s.h Merge 10.1 into 10.2 2019-05-13 18:48:28 +03:00