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.6
New Features:
- There is a new script for building Percona XtraDB Cluster from source. For more information, see Compiling and Installing from Source Code.
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 togglewsrep_on
in the middle of a transaction will now result in an error. Trx will capture the state ofwsrep_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:
- #1261688 and #1292842: Fixed race condition when two skipped replication transactions were rolled back, which caused
[ERROR] WSREP: FSM: no such a transition ROLLED_BACK ->ROLLED_BACK
withLOAD DATA INFILE
- #1362830: Corrected
xtrabackup-v2
script to consider only the last specifiedlog_bin
directive inmy.cnf
. Multiplelog_bin
directives caused SST to fail. - #1370532: Toggling
wsrep_desync
while node is paused is now blocked. - #1404168: Removed support for innodb_fake_changes variable.
- #1455098: Fixed failure of LDI on partitioned table. This was caused by partitioned table handler disabling bin-logging and Native Handler (InnoDB) failing to generate needed bin-logs eventually causing skipping of statement replication.
- #1503349:
garbd
now uses default port number if it is not specified insysconfig
. - #1505184: Corrected
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. - #1520491:
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. - #1528020: Fixed async slave thread failure caused by redundant updates of
mysql.event
table with the same value. Redundant updates are now avoided and will not be bin-logged. - Fixed garb init script causing new UUIDs to be generated every time it runs. This error was due to missing
base_dir
configuration whengardb
didn’t have write-access to current working directory.garbd
will now try to usecwd
. 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. - Fixed replication of
DROP TABLE
statement with a mix of temporary and non-temporary tables (for example,DROP TABLE temp_t1, non_temp_t2
), which caused errorneousDROP 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-upDROP
statement. All this workload should be part of same unit as temporary tables are session-specific. - Fixed error when
wsrep_cluster_name
value over 32 characters long caused gmcast message to exceed maximum length. Imposed a limit of 32 character onwsrep_cluster_name
. - Added code to properly handle default values for
wsrep_*
variables, which caused an error/crash. - Fixed error when a
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 settingtrx_id
(fake_trx_id
) to executeSELECT
and failing to reset it back to-1
duringINSERT
as certification is disabled. - Fixed crashing of
INSERT .... SELECT
for MyISAM table withwsrep_replicate_myisam
set toON
. This was caused by TOI being invoked twice when source and destination tables were MyISAM. - Fixed crash when caching write-set data beyond configured limit. This was caused by TOI flow failing to consider/check error resulting from limit enforcement.
- Fixed error when loading MyISAM table from schema temporary table (with
wsrep_replicate_myisam
set toON
). This was caused by temporary table lookup being done usingget_table_name()
, which could be misleading astable_name
for temporary tables is set to temporary generated name. Original name of the table is part oftable_alias
. The fix corrected condition to consider bothtable_name
andalias_name
. - Fixed error when changing
wsrep_provider
in the middle of a transaction or as part of a procedure/trigger. This is now blocked to avoid inconsistency. - Fixed TOI state inconsistency caused by
DELAYED_INSERT
on MyISAM table (TOI_END
was not called). Now theDELAYED_
qualifier will be ignored and statement will be interpreted as normalINSERT
. - Corrected locking semantics for
FLUSH TABLES WITH READ LOCK
(FTWRL). It now avoids freeing inheritted lock if follow-upFLUSH TABLE
statement fails. Only frees self-acquired lock. - Fixed crash caused by
GET_LOCK
+wsrep_drupal_282555_workaround
.GET_LOCK
path failed to free all instances of user-level locks after it inheritedmultiple-user-locks
from Percona Server. The cleanup code now removes all possible references of locks. - Fixed cluster node getting stuck in
Donor/Desync
state after a hard recovery, because of an erroneous type cast in source code. - Corrected DDL and DML semantics for MyISAM:
- DDL (CREATE/DROP/TRUNCATE) on MyISAM will be replicated irrespective of
wsrep_replicate_miysam
value - DML (INSERT/UPDATE/DELETE) on MyISAM will be replicated only if
wsrep_replicate_myisam
is enabled - SST will get full transfer irrespective of
wsrep_replicate_myisam
value (it will get MyISAM tables from donor if any) - Difference in configuration of
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)
- DDL (CREATE/DROP/TRUNCATE) on MyISAM will be replicated irrespective of
Known Issues:
- 1330941: Conflict between
wsrep_OSU_method
set toRSU
andwsrep_desync
set toON
was not considered a bug. - 1443755: Causal reads introduces surprising latency in single node clusters.
- 1522385: Holes are introduced in Master-Slave GTID eco-system on replicated nodes if any of the cluster nodes are acting as asynchronous slaves to an independent master.
- SST fails with
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. - Enabling
wsrep_desync
(from previousOFF
state) will wait until previouswsrep_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!
Comments (2)
Is this bug not in this release? https://bugs.launchpad.net/percona-server/+bug/1500720
It says 5.6.27
Marc, the post contains a link to the Percona Server 5.6.27-75.0 release note. This bug and fix is related to that upstream PS release, so it is mentioned there: https://www.percona.com/doc/percona-server/5.6/release-notes/Percona-Server-5.6.27-75.0.html