This is a bugfix release, fixing recently discovered bugs in the previous MySQL Cluster NDB 6.3 release.
This is a source-only release. You can obtain the GPL source code for MySQL Cluster NDB 6.3.23 from ftp://ftp.mysql.com/pub/mysql/download/cluster_telco/mysql-5.1.32-ndb-6.3.23/.
This release incorporates all bugfixes and changes made in previous MySQL Cluster releases, as well as all bugfixes and feature changes which were added in mainline MySQL 5.1 through MySQL 5.1.32 (see Changes in MySQL 5.1.32 (2009-02-14)).
Please refer to our bug database at http://bugs.mysql.com/ for more details about the individual bugs fixed in this version.
Important Change; Replication:
RESET SLAVEnow reset the values shown for
Last_SQL_Errnoin the output of
SHOW SLAVE STATUS. (Bug #34654)
References: See also Bug #44270.
A new data node configuration parameter
MaxLCPStartDelayhas been introduced to facilitate parallel node recovery by causing a local checkpoint to be delayed while recovering nodes are synchronizing data dictionaries and other meta-information. For more information about this parameter, see Defining MySQL Cluster Data Nodes. (Bug #43053)
Performance: Updates of the
SYSTAB_0system table to obtain a unique identifier did not use transaction hints for tables having no primary key. In such cases the NDB kernel used a cache size of 1. This meant that each insert into a table not having a primary key required an update of the corresponding
SYSTAB_0entry, creating a potential performance bottleneck.
With this fix, inserts on
NDBtables without primary keys can be under some conditions be performed up to 100% faster than previously. (Bug #39268)
Packaging: Packages for MySQL Cluster were missing the
libndbclient.afiles. (Bug #42278)
ALTER TABLE ... REORGANIZE PARTITIONon an
NDBCLUSTERtable having only one partition caused mysqld to crash. (Bug #41945)
References: See also Bug #40389.
Backup IDs greater than 231 were not handled correctly, causing negative values to be used in backup directory names and printouts. (Bug #43042)
When using ndbmtd, NDB kernel threads could hang while trying to start the data nodes with
LockPagesInMainMemoryset to 1. (Bug #43021)
When using multiple management servers and starting several API nodes (possibly including one or more SQL nodes) whose connection strings listed the management servers in different order, it was possible for 2 API nodes to be assigned the same node ID. When this happened it was possible for an API node not to get fully connected, consequently producing a number of errors whose cause was not easily recognizable. (Bug #42973)
ndb_error_reporter worked correctly only with GNU tar. (With other versions of tar, it produced empty archives.) (Bug #42753)
NDBCLUSTERtables caused such tables to become locked. (Bug #42751)
References: See also Bug #16229, Bug #18135.
Given a MySQL Cluster containing no data (that is, whose data nodes had all been started using
--initial, and into which no data had yet been imported) and having an empty backup directory, executing
START BACKUPwith a user-specified backup ID caused the data nodes to crash. (Bug #41031)
In some cases,
NDBdid not check correctly whether tables had changed before trying to use the query cache. This could result in a crash of the debug MySQL server. (Bug #40464)
Disk Data: It was not possible to add an in-memory column online to a table that used a table-level or column-level
STORAGE DISKoption. The same issue prevented
ALTER ONLINE TABLE ... REORGANIZE PARTITIONfrom working on Disk Data tables. (Bug #42549)
Disk Data: Creating a Disk Data tablespace with a very large extent size caused the data nodes to fail. The issue was observed when using extent sizes of 100 MB and larger. (Bug #39096)
Disk Data: Trying to execute a
CREATE LOGFILE GROUPstatement using a value greater than
UNDO_BUFFER_SIZEcaused data nodes to crash.
As a result of this fix, the upper limit for
600M; attempting to set a higher value now fails gracefully with an error. (Bug #34102)
References: See also Bug #36702.
Disk Data: When attempting to create a tablespace that already existed, the error message returned was Table or index with given name already exists. (Bug #32662)
Disk Data: Using a path or file name longer than 128 characters for Disk Data undo log files and tablespace data files caused a number of issues, including failures of
CREATE LOGFILE GROUP,
ALTER LOGFILE GROUP,
CREATE TABLESPACE, and
ALTER TABLESPACEstatements, as well as crashes of management nodes and data nodes.
With this fix, the maximum length for path and file names used for Disk Data undo log files and tablespace data files is now the same as the maximum for the operating system. (Bug #31769, Bug #31770, Bug #31772)
Disk Data: Attempting to perform a system restart of the cluster where there existed a logfile group without and undo log files caused the data nodes to crash.Note
While issuing a
CREATE LOGFILE GROUPstatement without an
ADD UNDOFILEoption fails with an error in the MySQL server, this situation could arise if an SQL node failed during the execution of a valid
CREATE LOGFILE GROUPstatement; it is also possible to create a logfile group without any undo log files using the NDB API.
Cluster Replication: Being disconnected from the cluster while setting up the binary log caused mysqld to hang or crash. (Bug #43045)
Cluster Replication: When replicating between MySQL Clusters,
AUTO_INCREMENTwas not set properly on the slave cluster. (Bug #42232)
Cluster API: Some error messages from ndb_mgmd contained newline (
\n) characters. This could break the MGM API protocol, which uses the newline as a line separator. (Bug #43104)
Cluster API: When using an ordered index scan without putting all key columns in the read mask, this invalid use of the NDB API went undetected, which resulted in the use of uninitialized memory. (Bug #42591)