New Features
Galera 3.8 introduces auto-eviction for nodes in the cluster experiencing network issues like packet loss. It is off by default and is turned on with evs.auto_evict option. This feature requires EVS protocol version (evs.version) 1. During the EVS protocol upgrade all membership changes are communicated over EVS protocol version 0 to preserve backwards compatibility, protocol is upgraded to the highest commonly supported version when forming a new group so if there exist a single node with older version in the group, the group protocol version remains as 0 and auto-eviction is not functional. (#1274192).
Percona XtraDB Cluster now supports backup locks in XtraBackup SST (in the default xtrabackup-v2 wsrep_sst_method). Backup locks are used in lieu of FLUSH TABLES WITH READ LOCK on the donor during SST. This should allow for minimal disruption of existing and incoming queries, even under high load. Thus, this should allow for even faster SST and node being in ‘donor/desynced’ state. This also introduces following constraints: Percona XtraDB Cluster 5.6.21 requires Percona XtraBackup 2.2.5 or higher; An older (< 5.6.21) joiner cannot SST from a newer (>= 5.6.21) donor. This is enforced through SST versioning (sent from joiner to donor during SST) and logged to error log explicitly. (#1390552).
Percona XtraDB Cluster is now shipped with Galera MTR test suite.
Bugs fixed
Percona XtraDB Cluster now shows a warning in case additional utilities, like pv which may not affect critical path of SST, are not installed. Bug fixed #1248688.
Fixed the UNIV_DEBUG build failures. Bug fixed #1384413.
mysqldump SST can now use username/password from wsrep_sst_auth under group of [sst] in my.cnf in order not to display the credentials in the error log. Bug fixed #1293798.
Normal shutdown under load would cause server to remain hanging because replayer failed to finish. Bug fixed #1358701.
wsrep_causal_reads variable was not honored when declared as global. Bug fixed #1361859.
Assertion failure lock != ctx->wait_lock has been fixed. Bug fixed #1364840.
garbd would not work when cluster address was specified without the port. Bug fixed #1365193.
Fixed wsrep options compiler warnings in Fedora 20. Bug fixed #1369916.
If mysqld gets killed during the SST it will leave an unclean data directory behind. This would cause Percona XtraDB Cluster to fail when the server would be started next time because the data directory would be corrupted. This was fixed by resuming the startup in case wsrep-recover failed to recover due to corrupted data directory. The old behavior is still achievable through --exit-on-recover-fail command line parameter to mysqld_safe or exit-on-recover-fail under [mysqld_safe] in my.cnf. Bug fixed #1378578.
Percona XtraDB Cluster now reads environment variables for mysqld from following files (if present): /etc/default/mysql in Debian/Ubuntu; /etc/sysconfig/mysql in CentOS 6 or lower; /etc/sysconfig/mysql in CentOS 7 with mysql.service; /etc/sysconfig/XYZ in CentOS 7 with <email address hidden> (/etc/sysconfig/bootstrap is supplied by default). Bug fixed #1381492.
gvwstate.dat file was removed on joiner when Xtrabackup SST Configuration method was used. Bug fixed #1388059.
Percona XtraDB Cluster now detects older joiners which don’t have the backup lock support. Bug fixed #1390552.
Longer wsrep-recover is now handled gracefully in Debian init scripts rather than returning immediately with a false positive fail.
wsrep-recover log is now also written to mysql error log now.
Issue with stale PID files and Debian init script have been fixed now. It now emits a warning for stale PID files.
sst_in_progress file is not removed anymore in case of failed SST.
In case stored procedure containing a non-InnoDB statement (MyISAM) performed autocommit, that commit would be entered two times: at statement end and next time at stored procedure end. Bug fixed #2.
TOI now skips replication if all tables are temporary. Bugs fixed #11 and #13.
Two appliers conflicting with local transaction and resulting later in (acceptable) BF-BF lock conflict, would cause cluster to hang when the other BF thread would not grant the lock back after its local transaction got aborted. Bug fixed #7.
Bootstrapping a node tried to resolve gcomm address list specified in wsrep-cluster-address. Bug fixed #88.
xtrabackup-v2 SST did not clean the undo log directory. Bug fixed #1394836.
Inserts to a table with autoincrement primary key could result in duplicate key error if another node joined or dropped from the cluster during the insert processing. Bug fixed #1366997.
Other bugs fixed #1378138, #1377226, #1376965, #1356859, #1026181, #1367173, #1390482, #1391634, and #1392369.