New Features
Default State Snapshot Transfer method, defined in wsrep_sst_method has been changed from mysqldump to rsync.
New wsrep_reject_queries has been implemented that can be used to reject queries for that node. This can be useful if someone wants to manually run maintenance on the node like mysqldump without need to change the settings on the load balancer.
Variable wsrep_sst_donor has been extended to accept multiple hostnames that are preferred as State Snapshot Transfer donors. This can be helpful in case other nodes on the list go down or it can be used as a whitelist during automated provisioning.
Desync functionality has now been exposed to the client. This can be done either via /*! WSREP_DESYNC */ comment on the query or by setting the global wsrep_desync variable to 1.
Improvements to XtraBackup SST
Percona XtraDB Cluster has implemented progress indicator for XtraBackup SST.
Percona XtraDB Cluster has implemented new rate limiting, rlimit, option for XtraBackup SST that can be used to avoid saturating the donor node.
Percona XtraDB Cluster has added new XtraBackup SST time option that can be used to see how much time different stages of State Snapshot Transfer are taking.
Percona XtraDB Cluster has implemented additional XtraBackup SST encryption option. Beside standard Percona XtraBackup encryption, new OpenSSL based encryption can be specified in the encrypt option.
XtraBackup SST now works in two stages. This was implemented to avoid issues like bug bug:1193240.
Bugs fixed
When multiple slave threads were configured, if there was a query on different transaction that inserts a row, and a query on another transaction within the same thread id that depends on the first row (FK constraint), sometimes the second transaction would be executed first causing the Foreign Key violation. Bug fixed #1217653.
When variable wsrep_provider was set to none it would cause cluster to hang. Bug fixed #1208493.
Percona XtraDB Cluster would crash with message: Error "no such a transition EXECUTING -> COMMITTED" on the master node. This bug was fixed only for some cases. Bug fixed #1123233.
Running DDL commands while variable wsrep_OSU_method was set to TOI - Total Order Isolation could lead to server deadlock. Bug fixed #1212955.
Stopping mysql process with inet script didn’t work if PID file was provided as pid_file option in the my.cnf configuration file. Bug fixed #1208865.
When read-only variable was set to ON, Percona XtraDB Cluster would block SELECT statements as well. Bug fixed #1091099.
In geo-DR setup using garbd, performance would degrade with node count when cross data center link was down. Bug fixed #1182960.
wsrep_recover was being run even if it wasn’t used. Script now checks if grastate.dat file has non-zero uuid and -1 seqno before it decides to start with wsrep_recover option. Bug fixed #1193781.
PID detection in the init script wasn’t working correctly if the PID file was specified with the relative path. Bug fixed #1194998.
State Snapshot Transfer authentication password was displayed in the ps output. Bug fixed #1200727.
Fixed the packaging issue caused by shared-compat linking. Bug fixed #1201393.
Fixed the platform dependent code in wsrep which was required to make the code portable to MacOS X and FreeBSD. Bug fixed #1201893.
Percona XtraDB Cluster donor node would get stuck during the State Snapshot Transfer when the threadpool plugin was used. Bug fixed #1206565.
pyclustercheck script did not work correctly with HAProxy. Bug fixed #1210239.
pyclustercheck script didn’t work as expected when available node was a donor. Bug fixed #1211249.
New bootstrap method bootstrap-pxc which was introduced in 5.5.31-23.7.5 didn’t check if mysqld process was already running before starting the new process. Bug fixed #1211505.
When table was created with LIKE and the source table was temporary table, create statement would be replicated to the slave nodes where it couldn’t be applied because the temporary table wasn’t present on the slave nodes. This would cause other nodes to crash if there were later DML commands for this table. Bug fixed #1212247.
Non-unique indexes in a parent table (as referenced by some foreign key constraint), would be included in write set population. i.e. key values in all non-unique indexes will be appended in the write set’s key set. This could cause excessive multi-master conflicts, especially if the parent table has non-unique indexes with low selectivity. Bug fixed #1216805.
Added information to InnoDB status if the transaction is waiting on TOI. Bug fixed #1219856.
Binary build was linked against libssl.so.10 and libcrypto.so.10 which was making it hard to run on SUSE Linux Enterprise Server 11. Bug fixed #1213855.
GU_AVPHYS_SIZE would report more available memory than could be addressed on 32-bit systems. Bug fixed #1204241.
Other bug fixes: bug fixed #1210638, bug fixed #1222777, bug fixed #1216904, bug fixed #1205467, bug fixed #1196898, bug fixed #1195355, bug fixed #1049599, bug fixed #1191395, bug fixed #1017526, bug fixed #1213073, bug fixed #1171759, bug fixed #1210618, bug fixed #1190756.
Based on Percona Server 5.5.33-31.1 including all the bug fixes in it, Galera Replicator and on Codership wsrep API 5.5.33-23.7.6, Percona XtraDB Cluster 5.5.33-23.7.6 is now the current stable release.