Details
-
Task
-
Status: In Progress (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
Q3/2026 Server Maintenance
Description
After MDEV-39092 MyISAM files are copied as part of backup, because it was necessary for MTR tests to work, but with no claim of correctness in the general case. It is assumed they can be copied in the same phase as non-transactional Aria table files, which will no longer be true once concurrent DDL is implemented for Aria.
To have feature parity with mariadb-backup, we will also need to copy files for the following engines: ARCHIVE, CSV, MERGE.
From a maintenance stand-point it would be preferable for the copying of these files not to be done in the Aria plugin.
Currently the copying of these files is done under the DDL lock level (no concurrent DDL allowed). This is how mariadb-backup does it, but we don't know if this is actually correct for all these engines: that, and whether effort should be put into investigating this, what level of testing should be done for those engines and similar questions need to be answered as part of this tiicket.
This should be co-ordinated with Aria backup code cleanup: MyISAM and non-engine files (*.frm, db.opt) should not be copied from Aria plugin.
It may seem there is a practical reason that non-Aria files should be copied from the Aria plugin, as it re-uses the directory scan. However that benefit will go away once concurrent DDL is implemented: when that happens, the directory scan for Aria tables will happen at an earlier stage on startup, while for the other files it needs to happen at least after DDL lock is acquired (DDL may rename, delete or create new files).
This on the assumption that we don't want to introduce concurrent DDL for common files and other engines, which could indeed reduce the number of directory scans, but also likely introduce significant complexity.
If the support for other engines were to be done "properly" in that copying of each engine's files is to be done in that engine's code, it would also introduce a level of complication, particularly if we want to avoid each engine scanning the directory separately.. The assumption at the time of writing is that all non-InnoDB non-Aria files, including common server files, MyISAM, and all the other mentioned engines are copied together from the SQL layer under DDL lock level.
Attachments
Issue Links
- is part of
-
MDEV-14992 BACKUP SERVER to mounted file system
-
- In Progress
-