Details
-
Task
-
Status: In Progress (View Workflow)
-
Critical
-
Resolution: Unresolved
-
None
-
Q2/2025 Development
Description
The goal of this task is to create a prototype to port the clone feature from MySQL 8.0. The At the end of this prototype we should have ...
1. Able to clone data locally using SQL syntax with Innodb and ARIA SE.
MariaDB> INSTALL PLUGIN clone SONAME 'mariadb_clone.so';
|
MariaDB> CLONE LOCAL DATA DIRECTORY [=] 'clone_dir';
|
MariaDB> UNINSTALL PLUGIN clone;
|
2. Divide the entire work of MDEV-14992 into multiple individual MDEVs with estimation and sequencing.
Sub work Items
Local Clone:
[Done] 1. Port Clone Plugin and create SE (handler) Interfaces: Disabled dynamic PFS table related code.
[Done] 2. Convert component services required by Clone to Plugin Services. Disabled SSL for now required by remote Cloning.
[Done] 3. Port Server changes: Syntax, Clone Statement, Clone handler to interface with plugin.
[Done] 4. Port Innodb SE changes for snapshot.
5. Synchronize for Binary log and GTID, XA transaction
Design: Block commits (MDL_BACKUP_WAIT_COMMIT) to synchronize clone across all SEs and note the replication co-ordinates.
6. Clone other non-SE data like FRM files
Design: The idea is to follow the similar design to Maria Backup for synchronization and block DDLs before copying frm files.
7. Clone other SEs: ARIA and other non-transactional SEs
8. At the end of this MDEV-14992 will be divided the entire work of into multiple individual MDEVs with estimation and sequencing.
Attachments
Issue Links
- blocks
-
MDEV-14992 BACKUP: in-server backup
-
- Open
-
- duplicates
-
MDEV-21105 Port clone plugin API (MYSQL_CLONE_PLUGIN) from MySQL
-
- Closed
-
-
MDEV-21106 Port clone plugin from MySQL
-
- Closed
-
- split from
-
MDEV-14992 BACKUP: in-server backup
-
- Open
-
Activity
Transition | Time In Source Status | Execution Times |
---|
|
29d 2h 13m | 1 |