This is a bugfix release, fixing recently discovered bugs in the previous MySQL Cluster NDB 6.3 release.
Obtaining MySQL Cluster NDB 6.3. You can download MySQL Cluster NDB 6.3.20 source code and binaries for supported platforms from http://dev.mysql.com/downloads/cluster/.
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.30 (see Changes in MySQL 5.1.30 (2008-11-14, General Availability)).
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
Cluster API:
Two new Ndb_cluster_connection
methods have been added to help in diagnosing problems with NDB
API client connections. The
get_latest_error()
method tells whether or not the latest connection attempt
succeeded; if the attempt failed,
get_latest_error_msg()
provides an error message giving the reason.
Bugs Fixed
Statements of the form UPDATE ... ORDER BY ...
LIMIT run against
NDBCLUSTER tables failed to update
all matching rows, or failed with the error Can't
find record in
'table_name'.
(Bug #40081)
Issuing SHOW TABLES repeatedly could cause
NDBCLUSTER tables to be dropped.
(Bug #40854)
Start phase reporting was inconsistent between the management client and the cluster log. (Bug #39667)
If a transaction was aborted during the handling of a data node failure, this could lead to the later handling of an API node failure not being completed. (Bug #41214)
Status messages shown in the management client when restarting a
management node were inappropriate and misleading. Now, when
restarting a management node, the messages displayed are as
follows, where node_id is the
management node's node ID:
ndb_mgm>Shutting down MGM nodenode_idRESTARTnode_idfor restart Nodenode_idis being restarted ndb_mgm>
(Bug #29275)
Partitioning: A query on a user-partitioned table caused MySQL to crash, where the query had the following characteristics:
The query's WHERE clause referenced
an indexed column that was also in the partitioning key.
The query's WHERE clause included a
value found in the partition.
The query's WHERE clause used the
< or <>
operators to compare with the indexed column's value
with a constant.
The query used an ORDER BY clause, and
the same indexed column was used in the ORDER
BY clause.
The ORDER BY clause used an explicit or
implicit ASC sort priority.
Two examples of such a query are given here, where
a represents an indexed column used in the
table's partitioning key:
SELECT * FROMtableWHERE a <constantORDER BY a;
SELECT * FROMtableWHERE a <>constantORDER BY a;
This bug was introduced in MySQL Cluster NDB 6.3.19. (Bug #40954)
References: This bug was introduced by Bug #30573, Bug #33257, Bug #33555.
Replication:
Issuing the statement CHANGE MASTER TO ...
MASTER_HEARTBEAT_PERIOD =
using a value for
periodperiod outside the permitted range
caused the slave to crash.
(Bug #39077)
Disk Data: This improves on a previous fix for this issue that was made in MySQL Cluster 6.3.8. (Bug #37116)
References: See also Bug #29186.
Cluster API:
When creating a scan using an
NdbScanFilter object, it was
possible to specify conditions against a BIT
column, but the correct rows were not returned when the scan was
executed.
As part of this fix, 4 new comparison operators have been
implemented for use with scans on BIT
columns:
COL_AND_MASK_EQ_MASK
COL_AND_MASK_NE_MASK
COL_AND_MASK_EQ_ZERO
COL_AND_MASK_NE_ZERO
For more information about these operators, see
The NdbScanFilter::BinaryCondition Type.
Equivalent methods are now also defined for
NdbInterpretedCode; for more
information, see
NdbInterpretedCode Bitwise Comparison Operations.
(Bug #40535)
