This is a new Beta development release, incorporating new
features in the
NDB storage engine
and fixing recently discovered bugs in MySQL Cluster NDB 6.4.3.
All feature additions and bugfixes that were made in MySQL
Cluster releases having NDB 6.4.x release numbers are included
in MySQL Cluster 7.0.4.
MySQL Cluster NDB 7.0.4 is the successor to MySQL Cluster NDB 6.4.3. Users running MySQL Cluster NDB 6.4.3 should upgrade to MySQL Cluster NDB 7.0.4 or a later 7.0.x release.
Obtaining MySQL Cluster NDB 7.0.4. MySQL Cluster NDB 7.0.4 is a source-only release. You can obtain the source code from ftp://ftp.mysql.com/pub/mysql/download/cluster_telco/mysql-5.1.32-ndb-7.0.4/.
This Beta release incorporates all bugfixes and changes made in previous MySQL Cluster NDB 6.1, 6.2, 6.3, and 6.4 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)).
This Beta release, as any other pre-production release, should not be installed on production level systems or systems with critical data. Please refer to our bug database at http://bugs.mysql.com/ for more details about the individual bugs fixed in this version.
Important Change: The default values for a number of MySQL Cluster configuration parameters relating to memory usage and buffering have changed. These parameters include
SendBufferMemory(when applied to TCP transporters), and
For more information, see Configuration of MySQL Cluster NDB 6.1-7.1.
When restoring from backup, ndb_restore now reports the last global checkpoint reached when the backup was taken. (Bug #37384)
Cluster API: Partition pruning did not work correctly for queries involving multiple range scans.
As part of the fix for this issue, several improvements have been made in the NDB API, including the addition of a new
NdbScanOperation::getPruned()method, a new variant of
NdbIndexScanOperation::setBound(), and a new
PartitionSpecdata structure. (Bug #37934)
TimeBetweenLocalCheckpointswas measured from the end of one local checkpoint to the beginning of the next, rather than from the beginning of one LCP to the beginning of the next. This meant that the time spent performing the LCP was not taken into account when determining the
TimeBetweenLocalCheckpointsinterval, so that LCPs were not started often enough, possibly causing data nodes to run out of redo log space prematurely. (Bug #43567)
The management server failed to start correctly in daemon mode. (Bug #43559)
DROP NODEGROUPcommand, the output of
SHOWin the ndb_mgm cliently was not updated to reflect the fact that the data nodes affected by this command were no longer part of a node group. (Bug #43413)
Using indexes containing variable-sized columns could lead to internal errors when the indexes were being built. (Bug #43226)
When using ndbmtd, multiple data node failures caused the remaining data nodes to fail as well. (Bug #43109)
It was not possible to add new data nodes to the cluster online using multi-threaded data node processes (ndbmtd). (Bug #43108)
Some queries using combinations of logical and comparison operators on an indexed column in the
WHEREclause could fail with the error Got error 4541 'IndexBound has no bound information' from NDBCLUSTER. (Bug #42857)
Disk Data: When using multi-threaded data nodes, dropping a Disk Data table followed by a data node restart led to a crash. (Bug #43632)
Disk Data: When using ndbmtd, repeated high-volume inserts (on the order of 10000 rows inserted at a time) on a Disk Data table would eventually lead to a data node crash. (Bug #41398)
Disk Data: When a log file group had an undo log file whose size was too small, restarting data nodes failed with Read underflow errors.
As a result of this fix, the minimum permitted
INTIAL_SIZEfor an undo log file is now
1M(1 megabyte). (Bug #29574)
Cluster API: When performing insert or write operations,
NdbRecordpermits key columns to be specified in both the key record and in the attribute record. Only one key column value for each key column should be sent to the NDB kernel, but this was not guaranteed. This is now ensured as follows: For insert and write operations, key column values are taken from the key record; for scan takeover update operations, key column values are taken from the attribute record. (Bug #42238)
Cluster API: Ordered index scans using
NdbRecordformerly expressed a
BoundEQrange as separate lower and upper bounds, resulting in 2 copies of the column values being sent to the NDB kernel.
Now, when a range is specified by
NdbIndexScanOperation::setBound(), the passed pointers, key lengths, and inclusive bits are compared, and only one copy of the equal key columns is sent to the kernel. This makes such operations more efficient, as half the amount of
KeyInfois now sent for a
BoundEQrange as before. (Bug #38793)