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.

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)).

Note

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.

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)

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)

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)

As a result of this fix, the minimum permitted
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 permits 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
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 KeyInfo is now sent for a
BoundEQ range as before.
(Bug #38793)