Galera Cluster for MySQL 8.0.40-26.21, and MySQL 8.4.3-26.21 released

Codership is pleased to announce a new Generally Available (GA) release of the multi-master Galera Cluster for MySQL 8.0, consisting of MySQL-wsrep 8.0.40-26.21 (release notes, download), with Galera replication library 4.21 (release notes, download) implementing wsrep API version 26. It also includes Galera Cluster for MySQL 8.4, consisting of MySQL-wsrep 8.4.3-26.21 (release notes, download), our first LTS variant of this release; it also uses the same Galera replication library 4.21. This release incorporates all changes to MySQL 8.0.40, and MySQL 8.4.3 adding a synchronous option for your MySQL High Availability solutions.

In the Galera replication library 4.21, some notable changes are the removal of the dependency on openssl/engine.h. We also fixed a writeset serialization during Incremental State Transfers (ISTs) fails because the seqno locking mechanism does not prevent underlying data stores from discarding released actions, requiring the locked seqno to be passed to stores to enforce discard limits. A status call also exposes all versions of all protocols agreed on by quorum.

In addition, when a node progresses from JOINED to SYNCED, a race condition may prevent it from being counted in the commit cut; ensure it is included upon announcing SYNCED and delay advancing the commit cut until the node’s last applied value exceeds the current commit cut. This means that the GCS protocol version has been bumped, and a rolling downgrade is not possible after the whole cluster has upgraded to the new version.

In both MySQL 8.0.40-26.21, and 8.4.3-26.21, there were multiple changes, like making wsrep_ready atomic. From a foreign key standpoint, checks are skipped in applying during IST, controlled by new wsrep_mode APPLIER_SKIP_FK_CHECKS_IN_IST (not on by default). We fixed an instance where a node can crash if Total Order Isolation (TOI) fails during IST while executing CREATE TABLE. We also fixed ALTER TABLE RENAME causing a BF ABORT on two nodes due to transactional MDL-locks not being released after an implicit commit failure from a certification error, fixed by ensuring locks are released even when the commit fails.

wsrep_cluster_conf_id has been showing incorrect values (18446744073709551615) which is not the -1 default for sometime, and this is now fixed. An assert in SELECT FOR UPDATE SKIP LOCKED has been fixed. The wsrep_diag.sql script was updated to filter out MDL locks on performance_schema tables caused by querying the metadata_locks table itself. The watchdog for InnoDB has been moved to a separate thread to avoid blocking the InnoDB monitor. A fix to DROP TABlE IF EXISTS could still be missing certification keys from referenced tables. We also refactored Galera MDL-conflict handling by introducing wsrep_bf_infoto securely store conflict logging data and holding appropriate locks during MDL-conflict logging to ensure thread safety and prevent data changes. And we also ensure fail-silent semantics during crashes by shutting down Galera networking and suppressing Galera/wsrep logging upon fatal signals, preventing interference with stack traces and core dumping (which was code we worked on with a downstream engineer).

In 8.4.3-26.21 only, it is worth noting that RESET MASTER is no longer supported in 8.4, and is replaced with RESET BINARY LOGS AND GTIDS. In addition, the component_keyring_vault plugin has been ported over from PXC.

Please download the latest software and update your Galera Clusters! We continue to provide repositories for popular Linux distributions, and we encourage you to use them. Contact us more more information about what Galera Cluster Enterprise Editioncan do for you.