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.34 from ftp://ftp.mysql.com/pub/mysql/download/cluster_telco/mysql-5.1.44-ndb-6.3.34/.
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.44 (see Changes in MySQL 5.1.44 (2010-02-04)).
Please refer to our bug database at http://bugs.mysql.com/ for more details about the individual bugs fixed in this version.
--wait-nodesoption has been added for ndb_waiter. When this option is used, the program waits only for the nodes having the listed IDs to reach the desired state. For more information, see ndb_waiter — Wait for MySQL Cluster to Reach a Given Status. (Bug #52323)
--skip-unknown-objectsoption for ndb_restore. This option causes ndb_restore to ignore any schema objects which it does not recognize. Currently, this is useful chiefly for restoring native backups made from a cluster running MySQL Cluster NDB 7.0 to a cluster running MySQL Cluster NDB 6.3.
Incompatible Change; Cluster API: The default behavior of the NDB API Event API has changed as follows:
Previously, when creating an
Event, DDL operations (alter and drop operations on tables) were automatically reported on any event operation that used this event, but as a result of this change, this is no longer the case. Instead, you must now invoke the event's
setReport()method, with the new
ER_DDL, to get this behavior.
For existing NDB API applications where you wish to retain the old behavior, you must update the code as indicated previously, then recompile, following an upgrade. Otherwise, DDL operations are no longer reported after upgrading
When attempting to create an
NDBtable on an SQL node that had not yet connected to a MySQL Cluster management server since the SQL node's last restart, the
CREATE TABLEstatement failed as expected, but with the unexpected Error 1495 For the partitioned engine it is necessary to define all partitions. (Bug #11747335, Bug #31853)
Creating a Disk Data table, dropping it, then creating an in-memory table and performing a restart, could cause data node processes to fail with errors in the
DBTUPkernel block if the new table's internal ID was the same as that of the old Disk Data table. This could occur because undo log handling during the restart did not check that the table having this ID was now in-memory only. (Bug #53935)
A table created while
ndb_table_no_loggingwas enabled was not always stored to disk, which could lead to a data node crash with Error opening DIH schema files for table. (Bug #53934)
An internal buffer allocator used by
NDBhas the form
alloc(and attempts to allocate
wantedpages, but is permitted to allocate a smaller number of pages, between
minimum. However, this allocator could sometimes allocate fewer than
minimumpages, causing problems with multi-threaded building of ordered indexes. (Bug #53580)
When compiled with support for
epollbut this functionality is not available at runtime, MySQL Cluster tries to fall back to use the
select()function in its place. However, an extra
ndbout_c()call in the transporter registry code caused ndbd to fail instead. (Bug #53482)
NDBtruncated a column declared as
DECIMAL(65,0)to a length of 64. Now such a column is accepted and handled correctly. In cases where the maximum length (65) is exceeded,
NDBnow raises an error instead of truncating. (Bug #53352)
When a watchdog shutdown occurred due to an error, the process was not terminated quickly enough, sometimes resulting in a hang. (To correct this, the internal
_exit()function is now called in such situations, rather than
exit().) (Bug #53246)
DataMemoryhigher than 4G on 32-bit platforms caused ndbd to crash, instead of failing gracefully with an error. (Bug #52536, Bug #50928)
NDB did not distinguish correctly between table names differing only by lettercase when
lower_case_table_nameswas set to 0. (Bug #33158)
ndb_mgm -e "ALL STATUS"erroneously reported that data nodes remained in start phase 0 until they had actually started.
Replication: A buffer overrun in the handling of
DATEcolumn values could cause mysqlbinlog to fail when reading logs containing certain combinations of DML statements on a table having a
DATEcolumn followed by dropping the table. (Bug #52202)
Cluster Replication: Replication failed after a restart of the slave SQL node, due to an error in writing the
master.infofile. (Bug #52859)
ALTER TABLEdid not work correctly where the name of the table, the database, or both contained special characters, causing the MySQL server to crash. (Bug #52225)
References: See also Bug #53409, Bug #14959.