Percona is glad to announce the release of Percona XtraDB Cluster on November 15th, 2012. Binaries are available from downloads area or from our software repositories.

Features:

  • Percona XtraDB Cluster has ported Twitter’s MySQL NUMA patch. This patch implements improved NUMA support as it prevents imbalanced memory allocation across NUMA nodes.
  • Number of binlog files can be restricted when using Percona XtraDB Cluster with the new max_binlog_files option.
  • New status variable wsrep_incoming_addresses has been introduced. It contains a comma-separated list of incoming (client) addresses in the cluster component.
  • Multiple addresses can now be specified in the gcomm:// URLwhen defining the address to connect to cluster. Option wsrep_urls is now deprecated, wsrep_cluster_address should be used to specify multiple addresses instead.
  • GTID can now be recovered by starting mysqld with –wsrep-recover option. This will parse GTID from log, and if the GTID is found, assign it as initial position for actual server start.
  • SET PASSWORD command replication has been implemented. The SET statement can contain other variables and several password changes, and each password change will be replicated separately as one TOI (total order isolation) call. The user does not have to be explicitly defined, current user will be detected and correct SET PASSWORD statement will be generated for TOI replication in every use case.
  • SQL statements aborted due to multi-master conflict can be automatically retried. This can be controlled with wsrep_retry_autocommit variable. The retry will happen only if there is real abort for the SQL statement. If statement itself enters into commit phase and detects certification failure, there will be no retry.
  • This version of Percona XtraDB Cluster implements significant speedups and memory footprint reduction on ranged queries.

Bugs fixed:

  • Some wsrep variables, like wsrep_provider, wsrep_provider_options and wsrep_cluster_address, could be “doubly” allocated which could cause memory leak. Bug fixed #1072839.
  • In case variables wsrep_node_address and wsrep_node_incoming_address were not set explicitly, port number would be set to 0. Bug fixed #1071882.
  • Server would hang before storage engine initialization with rsync SST and with option wsrep_start_position enabled. Bug fixed #1075495.
  • SST script interface has been upgraded to use named instead of positional parameters. Bug fixed #1045026.
  • When server was started with no wsrep_provider and with regular MySQL replication slave configured, could cause intermittent failure to start MySQL slave during startup. Bug fixed #1075617.
  • If DDL is processing with RSU method and there is MDL conflict with local transaction, this conflict would remain unresolved. Bug fixed #1039514.
  • Static SST method list has been removed. Bug fixed #1045040.
  • DDL in multi-statement would cause a server crash. Bug fixed #1049024.
  • mysqld_safe doesn’t restart the node automatically anymore. Bug fixed #1077632.
  • Server would fail to start if the variable wsrep_provider was unset. Bug fixed #1077652.

Other bug fixes: bug #1049103, bug #1045811, bug #1057910, bug #1052668, bug #1073220, bug #1076382,

Based on Percona Server 5.5.28-29.1 including all the bug fixes in it, Percona XtraDB Cluster 5.5.28-23.7 is now the current stable release. All of Percona‘s software is open-source and free.
We did our best to eliminate bugs and problems, but this is a software, so bugs are expected. If you encounter them, please report them to our bug tracking system.

9 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
M

Galera is based on branch
https://code.launchpad.net/~codership/galera/2.x
revision 137

Sergey

> Multiple addresses can now be specified in the gcomm:// URLwhen defining the address to connect to cluster.
> Option wsrep_urls is now deprecated, wsrep_cluster_address should be used to specify multiple addresses instead.

Good news, but how I should rewrite the following directive:
wsrep_cluster_address=gcomm://10.0.0.5:4567,gcomm://10.0.0.5:4567,gcomm:// when I start the cluster. Shoud I just leave comma in the end of line?

Sergey

Sorry I mean ‘wsrep_urls’ on the previos post.

Alex

Hi Sergey,

wsrep_urls mechanism is intended to be deprecated, however it takes precedence over wsrep_cluster_address if used. The way it works is unchanged.

You may also want to use pc.wait_prim option in the wsrep URL:

wsrep_cluster_address=gcomm://node1,node2:port2,node3?pc.wait_prim=yes

to avoid timeouts on the primary component connection when starting the cluster from scratch without having a “seed” node (the one started with wsrep_cluster_address=gcomm://). Then bootstrap the primary status on the component by SET GLOBAL wsrep_provider_options=’pc.bootstrap=1′ on any one of the nodes.

Teemu

Hi,

In order to avoid timeouts in the way Alex mentioned above, waiting primary component should be disabled, so cluster address should be set to

wsrep_cluster_address=gcomm://node1,node2:port2,node3?pc.wait_prim=no

Also, unfortunately, bootstrapping primary component this way works at the moment only if mysqldump SST method is used.

Scott Haas

1. Can some explain why in the wsrep_cluster_address, shown by Alex and Teemu, port2 is defined only for node2, but not the others?

2. Also, say I have 3 cluster nodes, and say node1 is the primary component, what is the correct syntax for wsrep_cluster_address in each node’s my.cnf? should wsrep_cluster_address be the same in my.cnf for all nodes?

3. Is there any idea when the bootstrapping primary component will support xtrabackup SST method?

Alex

1. Because node2 is listening at non-standard port.

2. It can be, but it does not have to.

3. Probably never: : in order to bootstrap the primary component via a client, mysqld needs to accept client connections. For that it needs storage engines initialized and that rules out anything but mysqldump for SST.

However if you had such a catastrophic failure that there remains no running primary component, it probably pays to have an intervention and choose and start the first node manually with wsrep_cluster_address=gcomm://

Razvan

Hi,

I am trying to install percona-xtradb-cluster-server-5.5 on ubuntu using apt-get and I need to fill the new password ” New password for the Percona Server “root” user:” . How can I do this automatically? I want to install percona from a script and I need to pass all information automatically.

Thank you!

Azigui

Hi,

Since I upgrade PXC in 5.5.28, I can’t use the multiple addresses.
I have on my first node wsrep_cluster_address=gcomm://node2:4567,node3:4567
On my 2nd node wsrep_cluster_address=gcomm://node1:4567,node3:4567
And 3rd node wsrep_cluster_address=gcomm://node1:4567,node2:4567
But doesn’t want to start. Why ?
It was ok with wsrep_urls.
The problem is when I have all cluster crash, it is impossible to restart them.
At the moment I hae my first node server crash, so I cannot start node 2 and 3.

Please I need some help

Best regards