Releasing Galera Cluster 3.24 with Improved Deadlock Error Management

Codership is pleased to announce the release of Galera Replication library 3.24, implementing wsrep API version 25. The new release includes improved deadlock error management with foreign keys and security fixes. As always, Galera Cluster is now available as targeted packages and package repositories for a number of Linux distributions, including Ubuntu, Red Hat, Debian, CentOS, OpenSUSE and SLES, as well as FreeBSD. Obtaining packages using a package repository removes the need to download individual files and facilitates the easy deployment and upgrade of Galera Cluster nodes.

This release incorporates all changes up to MySQL 5.7.23, MySQL 5.6.41 and MySQL 5.5.61.

Galera Replication Library 3.24
New features and notable fixes in Galera replication since last binary release by Codership (3.23)

* A support for new certification key type was added to allow
more relaxed certification rules for foreign key references (galera#491). Previous releases caused excessive (phantom) deadlock errors for transactions, which inserted rows into a table, which contained foreign key constraint. This anomaly has been optimized, and only true conflicts will result in deadlock error.

* New status variables were added to display the number of open transactions
and referenced client connections inside Galera provider (galera#492).

* GCache was sometimes cleared unnecessarily on startup if the recovered
state had smaller sequence number than the highest found from GCache.
Now only entries with sequence number higher than recovery point will be
cleared (galera#498).

* Non-primary configuration is saved into grastate.dat only when if the
node is in closing state (galera#499).

* Exception from GComm was not always handled properly resulting in
Galera to remain in half closed state. This was fixed by propagating the
error condition appropriately to upper layers (galera#500).

* A new status variable displaying the total weight of the cluster nodes
was added (galera#501).

* The value of pc.weight did not reflect the actual effective value after
setting it via wsrep_provider_options. This was fixed by making sure that
the new value is taken into use before returning the control back to
caller (galera#505, MDEV-11959)

* Use of ECHD algorithms with old OpenSSL versions was enabled (galera#511).

* Default port value is now used by garbd if the port is not explicitly
given in cluster address (MDEV-15531).

* Correct error handling for posix_fallocate().

* Failed causal reads are retried during configuration changes.

MySQL 5.7
New release of Galera Cluster for MySQL 5.7, consisting of MySQL-wsrep 5.7.23 and wsrep API version 25. Notable bug fixes in MySQL 5.7.23 and known issues:

* New configuration option wsrep_certification_rules to
enable more relaxed certification rules for foreign key references
on child table inserts. This option is effective only with Galera
version 3.24 or higher (galera#491).

* Resource leak in case of ROLLBACK TO SAVEPOINT followed
by COMMIT has been fixed (mysql-wsrep#318).

* Memory leak with native MySQL replication when InnoDB was used
as a relay log info and master info repository has been fixed
(mysql-wsrep#329).

Known issues with this release:

* Server cannot be started using ‘service’ command on Debian Stretch.

* SST between 5.6 and 5.7 nodes is not supported

* The –wsrep-replication-bundle option has no effect and may be removed in
a future release

* InnoDB tablespaces outside of the data directory are not supported, as they
may not be copied over during SST

* Compilation with DTrace enabled may fail, so -DENABLE_DTRACE=:BOOL=OFF
may be given to cmake to disable DTrace

MySQL 5.6
New release of Galera Cluster for MySQL consisting of MySQL-wsrep 5.6.41 and wsrep API version 25. Notable bug fixes and known issues in MySQL 5.6.41:

* New configuration option wsrep_certification_rules to
enable more relaxed certification rules for foreign key references
on child table inserts. This option is effective only with Galera
version 3.24 or higher (galera#491).

* Fixed a resource leak in case of ROLLBACK TO SAVEPOINT which was followed
by COMMIT (mysql-wsrep#318).

* InnoDB undo tablespaces are now included in rsync SST (mysql-wsrep#337).

* Memory leak with native MySQL replication when InnoDB was used
as a relay log info and master info repository has been fixed.
(mysql-wsrep#329).

Known issues with this release:

* If using the Ubuntu 16.04 Xenial package, the server can not be bootstrapped
using systemd. Please use the SysV init script with the ‘bootstap’ option to
bootstrap the node. Note that a server that has been started that way can not
be controlled via systemd and must be stopped using the SysV script. Normal
server startup and shutdown is possible via systemd.

* Server cannot be started using ‘service’ command on Debian Stretch.

MySQL 5.5
New release of Galera Cluster for MySQL consisting of MySQL-wsrep 5.5.61 and wsrep API version 25.This release incorporates all changes up to MySQL 5.5.61

* New configuration option wsrep_certification_rules to
enable more relaxed certification rules for foreign key references
on child table inserts. This option is effective only with Galera
version 3.24 or higher (galera#491).

* Resource leak in case of ROLLBACK TO SAVEPOINT followed
by COMMIT has been fixed (mysql-wsrep#318).

With the new release the repository structure is changed
to allow for existence of all of the wsrep-patched mysql
versions currently supported: 5.5 through 5.7.
Thus the repository layout requires from the user to
adjust his or her repository configuration to accomodate
those changes. In order to have the WSREP and Galera
library installed, one would need to add the following
repositories:
1. Galera-3 repository for galera library:
e.g. http://releases.galeracluster.com/galera-3/<ldist>/
2. Corresponding mysql-wsrep repository:
e.g. http://releases.galeracluster.com/mysql-wsrep-<mversion>/<ldist>
here: *ldist* is Linux or BSD distribution (Ubuntu, Centos) and *mversion* is MySQL version, i.e.
5.5, 5.6, 5.7

How To Install
————–

Repositories contain dummy or meta packages, called mysql-wsrep-<mversion>
which are convenience packages for installation of the corresponding version
of WSREP. One can install the whole suite by running, for example:
`apt-get install mysql-wsrep-5.6 galera-3`

#### Quirks for Ubuntu Xenial and 5.6
Due to the peculiarities of how apt resolves packages and presence of 5.7
libraries in Xenial repositories the command above might require additional
steps/changes in order to succeed.

One would need to either configure apt pinning for codership repositories for
them to have priority over upstream packages or to specify mysql-common package
version explicitly as the one located in the WSREP repositories in order to get
things installed.