[MDEV-21693] ALGORITHM=INSTANT does not work for partitioned tables Created: 2020-02-09 Updated: 2020-08-25 Resolved: 2020-02-28 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Data Definition - Alter Table, Partitioning, Storage Engine - InnoDB |
| Affects Version/s: | 10.4.7, 10.4.12, 10.4 |
| Fix Version/s: | 10.4.13 |
| Type: | Bug | Priority: | Major |
| Reporter: | Valerii Kravchuk | Assignee: | Thirunarayanan Balathandayuthapani |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||
| Description |
|
KB article (https://mariadb.com/kb/en/innodb-online-ddl-operations-with-the-instant-alter-algorithm/#alter-table-modify-column) does not list any restrictions related to partitioned tables, while in reality ALGORITHM=INSTANT can not be applied to them. Consider the following primitive example:
As soon as remove partitioning, ALTER works as expected. So, please, either document this limitation or fix the bug in the code that does not allow to do INSTANT alters for partitioned tables even in a simplest case like presented above. |
| Comments |
| Comment by Marko Mäkelä [ 2020-02-25 ] |
|
It is possible that Note: For |
| Comment by Thirunarayanan Balathandayuthapani [ 2020-02-26 ] |
|
Patch is in bb-10.4- |
| Comment by Marko Mäkelä [ 2020-02-26 ] |
|
The patch looks good to me. kevg, because it is based on your code changes, please take a look. thiru, please file&fix a separate bug to ensure that starting with 10.3, if one partition needs to be rebuilt, a rebuild of all partitions will be forced. I think that ha_innobase::commit_inplace_alter_table() assumes that all partitions will be treated in a similar way. |
| Comment by Eugene Kosov (Inactive) [ 2020-02-26 ] |
|
I've added comments here https://github.com/MariaDB/server/commit/55ffda5600eac9ec76041cf7c3ceeefd55b55af4 OK to push after adding more tests. |
| Comment by Matthias Leich [ 2020-02-26 ] |
|
Results of RQG test campaign with broad functional coverage for InnoDB (conf/mariadb/InnoDB_standard.cc) IMHO
|