Galera Cluster for MySQL 5.5.29-23.7.3 released

Galera Cluster for MySQL 5.5.29-23.7.3 has been released. This is a maintenance release with several important bug fixes. Downloads are available from our Launchpad download area: MySQL with Wsrep API 5.5.29-23.7.3 and Galera library 23.2.4.

This release includes RHEL/Centos 6 RPM binaries. The Galera library also introduces as experimental feature a preview from our Galera 3.x development work: weighted quorum calculation.

As usual, feedback and bug reports are welcome: Bug tracker, Mailing list.

Codership recommends commercial 24/7 support for production installations of Galera Cluster.

New version number management scheme

To clarify the versioning between our own Codership MySQL binaries, Percona XtraDB Cluster binaries and MariaDB Galera Cluster binaries, we have adopted a scheme where the "Wsrep" version number (example: 23.7.3) and the Galera version number (23.2.4) are issued centrally by Codership. You can track each such release as tags in our Bzr repositories. The purpose of this arrangement is to guarantee that if the Wsrep and Galera version numbers for 2 different partner products are the same, then we know that Galera related code in those releases is from the same snapshot. On the other hand, if they are different, then we also know that the higher version number is more recent and includes everything from the release with a lower version number.

Not all of the variants (MySQL, Percona, MariaDB) will always make a release at exactly the same point in time. Therefore if you only look at releases from one of them (only Percona, or only MariaDB) then there may exist gaps in their version numbers. For example, during this Winter we have made the following Galera releases:

Wsrep version Source release (bzr) Codership release Percona release MariaDB release
23.7 5.5.28-23.7 5.5.28-23.7 5.5.28-23.7 -
23.7.1 5.5.29-23.7.1 - 5.5.29-23.7.1 -
23.7.2 5.5.29-23.7.2 - 5.5.29-23.7.2 -
23.7.3 5.5.29-23.7.3 5.5.29-23.7.3 - 5.5.29-23.7.3

...and from here next releases will be versioned 5.5.30-23.7.4

(Note that for 23.7. this scheme was not yet in place and the Codership and Percona releases were not exactly identical.)

Except for the addition of a new minor version number to the Wsrep version (.3 in this release) the numbering scheme itself is the same as before.

Release notes for Wsrep

NOTE: upgrading from rhel5 to rhel6 packages on RHEL/CentOS 6 almost certainly will require upgrade of MySQL-client and MySQL-shared/MySQL-shared-compat RPMs as well.

This is a major bugfix release. Fixed since 23.7:

A whole bunch of foreign key issues:
- lp:1078346: SEGV on wsrep_append_foreign_key()
- lp:1089490: non-uniform FK reference can cause slave crash
- lp:1100496: mixed CHAR and VARCHAR columns in foreign key definition makes parallel applying fail
- lp:1117175: foreign Key problem with PXDBC 5.5.29-23.7.1-387
- lp:1130888: cascading FK constraint can cause slave hanging

A whole host of serious bugs:
- lp:1144911: prepared statements could cause node hanging.
- lp:1019473: tables without primary keys could become inconsistent.
- lp:1112514: updates to temporary tables caused memory leaks
- lp:1088400: binlog_format=STATEMENT could cause server abort with "WSREP: FSM: no such a transition COMMITTING -> REPLICATING"
- lp:1084702: dropping a non-existing temporary table was be replicated
- lp:1132974: wsrep_recover processing conflicts with native replication threads
- lp:1136303: crash executing SHOW STATUS LIKE 'wsrep_%';

And some small fish:
- lp:1108431: wsrep-recover function in mysqld_safe was incompatible with dash on Ubuntu.
- lp:1082406: an explicitly set wsrep_node_incoming_address could make SHOW STATUS LIKE 'wsrep_incoming_addresses' return a portless address
- lp:812059: set FD_CLOEXEC flag on all mysqld file descriptors by default

Plus update to MySQL-5.5.29.

Release notes for Galera

This is a major bugfix release. Fixed since 2.2:
- lp:1099546: inconsistent certification index purge (could lead to data inconsistency)
- lp:1080539: using high evs.send_window and evs.user_send_window settings could cause an exception
- lp:1108165: sometimes node failed to gracefully leave the cluster
- lp:1131736: build fails with new boost library (now it builds with boost_pool=0 option)
- lp:1133047: can't build galera on ARM architecture

Plus new experimental feature: weighted quorum (lp:1010225). Weight can be an integer in the range 0-255. Nodes with zero weight don't participate in quorum calculation. By default all nodes have weight 1.

Also more memory and performance optimizations.