[MDEV-28293] document portability of mariabackup/innodb Created: 2022-04-11  Updated: 2022-05-10

Status: Open
Project: MariaDB Server
Component/s: Documentation, mariabackup, Storage Engine - InnoDB
Affects Version/s: None
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Daniel Black Assignee: Ian Gilfillan
Resolution: Unresolved Votes: 0
Labels: None


 Description   

from: https://dba.stackexchange.com/questions/310745/does-mariadb-10-5-mariabackup-support-data-interchange-between-cloud-arm64-and-l

We're launching project with in-cloud and on-premises phases.
ARM64 cloud pricing is attractive; our on-premises is AMD64.
We want to use Mariabackup for inter-site data migration.
Clear supported or not statements are difficult to locate.

Can anyone point out relevant on-line resource or support statement?



 Comments   
Comment by Marko Mäkelä [ 2022-04-12 ]

As far as the InnoDB storage engine is concerned, the data files are supposed to be compatible between scalar register files of different width (32-bit or 64-bit) or byte order (big endian or little endian).

However, there is a design bug in the InnoDB FULLTEXT INDEX implementation, in the encoding of the inverted index. That code destroys the portability of InnoDB FULLTEXT INDEX between different byte orders. In the function fts_fetch_index_words() you can find a FIXME comment about this.

In MySQL 5.6, MariaDB 10.0 and MariaDB 10.1 there was a bug in innodb_checksum_algorithm=crc32 that only affected big-endian ISAs. In MySQL 5.7, that bug was fixed and a compatibility work-around for that was introduced, to allow data files to be portable between (say) SPARC and AMD64. Because that compatibility work-around would weaken the page checksums further, it was removed in MDEV-17958.

On https://buildbot.mariadb.org we have two big endian builders: IBM AIX running on IBM POWER in big endian mode and GNU/Linux running on IBM System Z (s390x). While ARM and POWER processors have traditionally been bi-endian, my understanding is that GNU/Linux distributions nowadays prefer little endian when the option is available. I have also understood that in ARMv8, the big endian mode has been made optional.

I cannot say anything about the compatibility of other than InnoDB files, such as .frm files. I do not think that we regularly run any portability tests between processor platforms. The checksum algorithms (two variants of CRC-32; see MDEV-27208) are covered in our regression tests.

Generated at Thu Feb 08 09:59:35 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.