Percona is glad to announce the new release of Percona XtraDB Cluster 5.6 on January 11, 2016. Binaries are available from the downloads area or from our software repositories.
Percona XtraDB Cluster 5.6.27-25.13 is now the current release, based on the following:
All of Percona software is open-source and free, and all the details of the release can be found in the 5.6.26-25.12 milestone at Launchpad.
For more information about relevant Codership releases, see this announcement.
NOTE: Due to new dependency on libnuma1 package in Debian/Ubuntu, please run one of the following commands to upgrade the percona-xtradb-cluster-server-56 package:
aptitude safe-upgrade
apt-get dist-upgrade
apt-get install percona-xtradb-cluster-server-5.6New Features:
wsrep_on is now a session only variable. That means toggling it will not affect other clients connected to said node. Only the session/client modifying it will be affected. Trying to toggle wsrep_on in the middle of a transaction will now result in an error. Trx will capture the state of wsrep_on during start and will continue to use it. Start here means when the first logical changing statement is executed within transaction context.Bugs Fixed:
[ERROR] WSREP: FSM: no such a transition ROLLED_BACK ->ROLLED_BACK with LOAD DATA INFILE
xtrabackup-v2 script to consider only the last specified log_bin directive in my.cnf. Multiple log_bin directives caused SST to fail.
wsrep_desync while node is paused is now blocked.
garbd now uses default port number if it is not specified in sysconfig.
wsrep_sst_auth script to ensure that user name and password for SST is passed to XtraBackup through internal command-line invocation. ps -ef doesn’t list these credentials so passing it internally is fine, too.
FLUSH TABLE statements are not replicated any more, because it lead to an existing upstream fix pending deadlock error. This fix also takes care of original fix to avoid increment of local GTID.
mysql.event table with the same value. Redundant updates are now avoided and will not be bin-logged.
base_dir configuration when gardb didn’t have write-access to current working directory. garbd will now try to use cwd. Then it will try to use /var/lib/galera (like most Linux daemons). If it fails to use or create /var/lib/galera, it will throw a fatal error.
DROP TABLE statement with a mix of temporary and non-temporary tables (for example, DROP TABLE temp_t1, non_temp_t2), which caused errorneous DROP TEMPORARYTABLE stmt on replicated node. Corrected it by detecting such scenarios and creating temporary table on the replicated node, which is then dropped by follow-up DROP statement. All this workload should be part of same unit as temporary tables are session-specific.
wsrep_cluster_name value over 32 characters long caused gmcast message to exceed maximum length. Imposed a limit of 32 character on wsrep_cluster_name.
wsrep_* variables, which caused an error/crash.
CREATE TABLE AS SELECT (CTAS) statement still tried to certify a transaction on a table without primary key even if certification of tables without primary key was disabled. This error was caused by CTAS setting trx_id (fake_trx_id) to execute SELECT and failing to reset it back to -1 during INSERT as certification is disabled.
INSERT .... SELECT for MyISAM table with wsrep_replicate_myisam set to ON. This was caused by TOI being invoked twice when source and destination tables were MyISAM.
wsrep_replicate_myisam set to ON). This was caused by temporary table lookup being done usingget_table_name(), which could be misleading as table_name for temporary tables is set to temporary generated name. Original name of the table is part of table_alias. The fix corrected condition to consider both table_name and alias_name.
wsrep_provider in the middle of a transaction or as part of a procedure/trigger. This is now blocked to avoid inconsistency.
DELAYED_INSERT on MyISAM table (TOI_END was not called). Now the DELAYED_ qualifier will be ignored and statement will be interpreted as normal INSERT.
FLUSH TABLES WITH READ LOCK (FTWRL). It now avoids freeing inheritted lock if follow-up FLUSH TABLE statement fails. Only frees self-acquired lock.
GET_LOCK + wsrep_drupal_282555_workaround. GET_LOCK path failed to free all instances of user-level locks after it inherited multiple-user-locks from Percona Server. The cleanup code now removes all possible references of locks.
Donor/Desync state after a hard recovery, because of an erroneous type cast in source code.
wsrep_replicate_miysam value
wsrep_replicate_myisam is enabled
wsrep_replicate_myisam value (it will get MyISAM tables from donor if any)
pxc-cluster node on enforce_storage_engine front may result in picking up different engine for same table on different nodes
CREATE TABLE AS SELECT (CTAS) statements use non-TOI replication and are replicated only if there is involvement of InnoDB table that needs trx (involvement of MyISAM table will cause CTAS statement to skip replication)Known Issues:
wsrep_OSU_method set to RSU and wsrep_desync set to ON was not considered a bug.
innodb_data_home_dir/innodb_log_home_dir. This is a bug in Percona XtraBackup. It should be fixed in the next 2.3.2 release. Until then, please use 2.2.12 that doesn’t have this issue.
wsrep_desync (from previous OFF state) will wait until previous wsrep_desync=OFF operation is completed.Help us improve our software quality by reporting any bugs you encounter using our bug tracking system. As always, thanks for your continued support of Percona!
Resources
RELATED POSTS