MDEV-16329 Engine-independent online ALTER TABLE
MDEV-11424 - InnoDB operations which can/cannot be instant
- Despite all implications in
MDEV-16329, online ALTER TABLE is not the same as ALTER ONLINE TABLE. The explicit syntax is
In many cases it should happen automatically, on ALTER TABLE without ALGORITHM/LOCK specification.
- New flag in old_mode: LOCK_ALTER_TABLE_COPY. Big DML events in concurrency with ALTER on tables without PK is a concern. old_mode is to be set for instances which can have such scenarios.
- Exceptions (limitations) when the new online alter is not applicable are enumerated in
Per-engines exploratory observations:
- InnoDB, MyISAM, Aria, Heap, CSV, RocksDB, Archive, Mroonga – applies
- MERGE, Spider, Blackhole, Sphinx – skips online alter (doesn't hit debug sync point), probably because there is no real data
- Columnstore – skips online alter (doesn't increase Binlog_bytes_written, cannot test debug , it fails there, to be checked whether it's specific to the branch)
S3, OQGRAPH, FEDERATED, FEDERATEDX – ALTER is prohibited in general
- PERFORMANCE_SCHEMA – cannot be ALTERed
- Conversion to S3 – prohibited. Conversion from S3 – applies .
- Sequences – prohibited.
- Connect – prohibited.
- GCOV for the patch
default set + galera set, nm-big run: Lines with zero coverage (67/2603) missings-mtr-c29ff60b.txt
- SAN tests
- ASAN default big / nm + ps + view
- MSAN default big / nm + ps + view
- UBSAN default big / nm + ps + view
- ASAN plugins big/nm
- ASAN galera big/nm
- By spec/exploratory
- integration map traverse
- No new problems with stability observed
- testing of recovery correctness in comparison to binlog is limited due to a number of legacy issues in binlog replay
- No new problems with server (primary or replica) stability observed
- testing of replicaton stability and correctness is limited due to a number of legacy issues in replication
outside the scope of this item, done in
does not support online alter
no specific issues observed
- Live upgrade
- Dump upgrade
- Package upgrade
- MariaBackup upgrade
- OM => NS replication upgrade
Some old bugs fixed along with online alter development (while not directly related to the feature), the fixes may cause OM => NS replication failures. E.g. if ALGORITHM=INSTANT was silently ignored in a previous version and ALTER with it succeeded, even though not executed as INSTANT, now it is rejected, thus upon replicating such events the replication will abort.
- Galera rolling upgrade
out of the scope of this item
- RQG GCOV for the patch
not satisfactory, to be further worked on after the feature release
- RQG-100 ASAN
50% tests fail due to unrelated issues
- RQG-100 Release
MDEV-31646downgraded to non-RC-blocking
- MTR with alter-algorithm=copy.
Should be run without debug-sync or on a release build, otherwise too many low-level debug tests fail because they are not hitting expected sync points.
Big DML events in concurrency with ALTER on tables without PK is a concern. old_mode is to be set for instances which can have such scenarios.
- various small ALTER-related changes
- syncpoint grammar extensions
- binlog replay improvements
- new old_mode in parameter presets and dynamic variables
Branch commits (feature / --- unrelated)
Some work still needs to be done on the item (continue testing, re-check after fixing, etc.)
No work expected on the item
The item is a problem which is currently considered a blocker for the feature
The item cannot be worked on for the time being
Attention point but not a blocker for the feature (low-prio bug, documentation point, unfinished check, etc.)
Work on the item is considered finished