Closed BenResTech closed 5 years ago
Thanks for the report, Ben! So do you think simply switching ENV SST_METHOD=xtrabackup-v2
to ENV SST_METHOD=mariabackup
in the 10.2 Dockerfile is all that is needed to fix?
Having just tested it here, changing that variable to mariabackup
does correctly swap to using mariabackup for the state synchronisation.
I can then assemble a cluster of nodes without requiring the innodb_safe_truncate option - the galera nodes cluster correctly as we were seeing with the previous 10.2.15 version.
As Maria seem to be moving towards using their own backup solution instead of Xtrabackup anyway then this move would have to be made at some point in the future anyway, so I guess now would be as good a time as any :)
Thanks again, Ben! I updated the Dockerfile and am working on pushing new builds.
I was seeing clustering problems recently when testing a move from 10.2.15 to 10.2.23. Initial errors seen from the service were:
When I dug into it, the innobackup log in /var/lib/mysql stated:
InnoDB: Unsupported redo log format. The redo log was created with MariaDB 10.2.23.
After some Googling, I found this page where MariaDB states: "Percona XtraBackup does not work with MariaDB 10.1 or greater if encryption or compression is used, or when innodb_page_size is set to some value other than 16K. It also does not work with MariaDB 10.2 or greater if innodb_safe_truncate=ON is set. It also does not work with MariaDB 10.3 or greater. For the cases where Percona XtraBackup is not supported, see Mariabackup instead."
In my case (10.2.23), the problem was the 'new' innodb_safe_truncate option that defaults to being ON (our previous version was 10.2.15, prior to the introduction of this option - it was introduced in 10.2.19).
Supplying the option
--innodb_safe_truncate=OFF
as part of my command string to Galera within the compose file made everything start clustering and working again.I thought I'd raise this here so the command can be updated (or the move to MariaBackup can be examined), and so that anyone else seeing this doesn't have to spend as long searching for the answer :)