[MDEV-14246] Skip the ha_innobase::prepare_inplace_alter_table() phase if no inplace_alter_table() phase is needed Created: 2017-11-01  Updated: 2018-05-07  Resolved: 2018-05-07

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.0, 10.1, 10.2, 10.3
Fix Version/s: 10.3.7

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Thirunarayanan Balathandayuthapani
Resolution: Fixed Votes: 0
Labels: ddl, instant, performance

Issue Links:
Duplicate
duplicates MDEV-13134 Introduce ALTER TABLE attributes ALGO... Closed
Relates
relates to MDEV-11369 Instant add column for InnoDB Closed
relates to MDEV-13134 Introduce ALTER TABLE attributes ALGO... Closed
relates to MDEV-14016 Allow instant ADD COLUMN, ADD INDEX, ... Closed

 Description   

In the ALGORITHM=INPLACE API, if the operation involves data changes, such as adding an index or rebuilding the table, it will be necessary to invoke a "prepare" phase followed by a data transformation phase.

Currently, the "prepare" phase is unnecessarily being executed for instant ADD COLUMN (MDEV-11369) and possibly other operations. This causes an unnecessary step to acquire and downgrade an exclusive meta-data lock, before upgrading the lock to exclusive again for executing ha_innobase::commit_inplace_alter_table().



 Comments   
Comment by Thirunarayanan Balathandayuthapani [ 2018-05-07 ]

It is fixed as a part of MDEV-13134. Instant algo won't do downgrade of mdl lock.

Generated at Thu Feb 08 08:12:04 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.