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 NDB 6.3 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.
Functionality Added or Changed
A --wait-nodes option 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)
Added the
--skip-unknown-objects
option 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.
Bugs Fixed
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 EventReport value
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
libndbnclient.
For more information, see
The Event::EventReport Type, and
Event::setReport().
(Bug #53308)
When attempting to create an NDB
table on an SQL node that had not yet connected to a MySQL
Cluster management server since the SQL node's last
restart, the CREATE TABLE
statement 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 DBTUP
kernel 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)
An internal buffer allocator used by
NDB has the form
alloc( and attempts to
allocate wanted,
minimum)wanted pages, but is
permitted to allocate a smaller number of pages, between
wanted and
minimum. However, this allocator
could sometimes allocate fewer than
minimum pages, causing problems with
multi-threaded building of ordered indexes.
(Bug #53580)
A table created while
ndb_table_no_logging was
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)
When compiled with support for epoll but 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)
NDB truncated 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,
NDB now raises an error instead of
truncating.
(Bug #53352)
Setting DataMemory
higher 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_names was set
to 0.
(Bug #33158)
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)
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
DATE column values could cause
mysqlbinlog to fail when reading logs
containing certain combinations of DML statements on a table
having a DATE column 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.info file.
(Bug #52859)
ALTER TABLE did 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.
