About MySQL/Galera 0.7pre Release

Galera 0.7pre release was published, well actually 2 weeks ago already, and is now ready for downloads both in codership and launchpad sites:

Why a pre-release, pathetic maybe?

Our target for the next release to be published, was 0.7, with two major added features:

  • to make it possible to join new nodes in active cluster
  • new fault tolerant group communications system 'gcomm'

Together these improvements constitute a feature complete HA clustering solution for MySQL. However, the engineering work for the node join property exceeded our estimates and we got this part ready not earlier than early October.
At the same time, MySQL/Galera 0.6 releases were downloaded for evaluation and the latest 0.6 update was back in June. The delta between development trunk and latest stable release was growing too large. This was a good reason to panic a little, and we decided to put out a preliminary release, which we tagged 0.7pre.

What is there?

MySQL/Galera 0.7pre has node join property, but runs with the old arbitrator based group communication system, 'vsbes'. vsbes daemon is a SPOF, and therefore otherwise fault tolerant MySQL/Galera 0.7pre cluster cannot really be advertised as HA solution.

But, this release is functionally complete HA cluster already and is good for evaluation with real applications. You can join new nodes in the cluster, without stopping application load. Also dropping nodes from the cluster happens without interruption.

When a node needs to to join the cluster, a donor node is selected among the active cluster nodes, for preparing a DB state snapshot for the joining node. In 0.7pre release the snapshot is implemented simply by using mysqldump. Not very effective, but works well as a proof of concept.
The joining node loads the dump, catches up with latest missing transactions and is then ready to accept new client connections.

What to expect?

MySQL/Galera 0.7pre has not gone through extensive testing yet. We have run our internal unit and integration tests and a number of benchmarks (sqlgen, sysbench, dbt2, DOTS, mysqlslap) for validation. Benchmarking shows again very good scalability. We did run also some 100% write rate benchmarks to see how well writes scale and results look pretty good.

We are currently working on the remaining development efforts for 0.7 release and running more extensive QA tests. Estimate is that we need two R&D sprints to complete 0.7 release.