Bug #115094 Make native cloning work cross architecture
Submitted: 23 May 8:38 Modified: 23 May 9:01
Reporter: Simon Mudd (OCA) Email Updates:
Status: Verified Impact on me:
Category:MySQL Server: Clone Plugin Severity:S4 (Feature request)
Version:8.0/8.4 OS:Any
Assigned to: CPU Architecture:Any
Tags: aarch64, native_cloning, x86_64

[23 May 8:38] Simon Mudd
Native cloning will not work cross architecture.
This is the fastest way I'm aware of to copy a database between instances if not using storage side cloning. At least it's much faster than msyqldump + mysql / rsync and may well be faster than the shell's copy instance.

However, I see that it can not handle cloning between different architectures which is unhelpful as this increases the time and complexity to move data between servers of different architectures.

How to repeat:
e.g.  This is what I see:

SET GLOBAL clone_valid_donor_list = ''

Query OK, 0 rows affected (0.00 sec)

clone instance from 'some_user'@'':3306 identified by 'some_password' require ssl

ERROR 3866 (HY000) at line 15: Clone Donor platform: x86_64 is different from Recipient platform: aarch64.

Suggested fix:
Improve the handling in such a case so that the appropriate "transformation" can be made with the on disk files being copied over. You know the differences between architectures so you should be able hopefully to modify either the on disk format or the inter-server communication protocol to handle these differences.

AFAIK replication works fine between servers of different architectures so it's a surprise that the native cloning can not handle this.

aarch64 is becoming more popular especially as in the cloud the servers using this architecture are usually cheaper to use so it would be good to simplify handling native cloning and be able to move between architectures more easily.

There are other more exotic architectures like IBM zSeries or iSeries where this might also be useful.
[23 May 9:01] MySQL Verification Team
Hello Simon,

Thank you for the feature request!