This is a new Beta development release, incorporating new
features in the NDBCLUSTER
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 Section C.1.19, “Changes in MySQL 5.1.32 (14 February 2009)”).
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.
Functionality added or changed:
Important Change:
The default values for a number of MySQL Cluster configuration
parameters relating to memory usage and buffering have changed.
These parameters include RedoBuffer
,
LongMessageBuffer
,
BackupMemory
,
BackupDataBufferSize
,
BackupLogBufferSize
,
BackupWriteSize
,
BackupMaxWriteSize
,
SendBufferMemory
(when applied to TCP
transporters), and ReceiveBufferMemory
.
For more information, see Section 17.3, “MySQL Cluster Configuration”.
When restoring from backup, ndb_restore now reports the last global checkpoint reached when the backup was taken. (Bug#37384)
Bugs fixed:
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 Ndb::PartitionSpec
data structure.
For more information about these changes, see
NdbScanOperation::getPruned()
,
NdbIndexScanOperation::setBound
, and
The PartitionSpec
Structure.
(Bug#37934)
TimeBetweenLocalCheckpoints
was 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
TimeBetweenLocalCheckpoints
interval, 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)
Following a DROP NODEGROUP
command, the
output of SHOW
in 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 WHERE
clause 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 allowed
INTIAL_SIZE
for an undo log file is now
1M
(1 megabyte).
(Bug#29574)
Cluster API:
The default NdbRecord
structures created by
NdbDictionary
could have overlapping null
bits and data fields.
(Bug#43590)
Cluster API:
When performing insert or write operations,
NdbRecord
allows 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 NdbRecord
formerly
expressed a BoundEQ
range 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
NdbScanOperation::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
KeyInfo
is now sent for a
BoundEQ
range as before.
(Bug#38793)
User Comments
Add your own comment.