Documentation Home
MySQL NDB Cluster 7.3 Release Notes
Download these Release Notes
PDF (US Ltr) - 0.9Mb
PDF (A4) - 0.9Mb

MySQL NDB Cluster 7.3 Release Notes  /  Changes in MySQL NDB Cluster 7.3.1 (5.6.10-ndb-7.3.1) (2013-04-17, Development Milestone)

Changes in MySQL NDB Cluster 7.3.1 (5.6.10-ndb-7.3.1) (2013-04-17, Development Milestone)

MySQL NDB Cluster 7.3.1 is a new Developer Milestone release of NDB Cluster, based on MySQL Server 5.6 and previewing new features under development for version 7.3 of the NDB storage engine, as well as fixing a number of recently discovered bugs in previous releases.

Obtaining MySQL NDB Cluster 7.3.  MySQL NDB Cluster 7.3 source code and binaries can be obtained from

This release also incorporates all bug fixes and changes made in previous NDB Cluster releases, as well as all bug fixes and feature changes which were added in mainline MySQL 5.6 through MySQL 5.6.10 (see Changes in MySQL 5.6.10 (2013-02-05, General Availability)).

Based on MySQL Server 5.6

  • Important Change: MySQL NDB Cluster SQL nodes are now based on MySQL Server 5.6. For information about feature additions and other changes made in MySQL 5.6, see What Is New in MySQL 5.6.

    The mysqld binary provided with MySQL NDB Cluster 7.3.1 is based on MySQL Server 5.6.10, and includes all MySQL Server 5.6 feature enhancements and bug fixes found in that release; see Changes in MySQL 5.6.10 (2013-02-05, General Availability), for information about these.

MySQL Cluster GUI Configuration Wizard

  • Important Change: The MySQL NDB Cluster distribution now includes a browser-based graphical configuration wizard that assists the user in configuring and deploying a MySQL NDB Cluster. This deployment can consist of an arbitrary number of nodes (within certain limits) on the user machine only, or include nodes distributed on a local network. The wizard can be launched from the command line (using the ndb_setup utility now included in the binary distribution) or a desktop file browser.

    For more information about this tool, see The NDB Cluster Auto-Installer (NO LONGER SUPPORTED).

Support for Foreign Key Constraints

  • Important Change: MySQL NDB Cluster now supports foreign key constraints between NDB tables, including support for CASCADE, SET NULL, and RESTRICT and NO ACTION reference options for DELETE and UPDATE actions. (MySQL currently does not support SET DEFAULT.)

    MySQL requires generally that all child and parent tables in foreign key relationships employ the same storage engine; thus, to use foreign keys with MySQL NDB Cluster tables, the child and parent table must each use the NDB storage engine. (It is not possible, for example, for a foreign key on an NDB table to reference an index of an InnoDB table.)

    Note that MySQL NDB Cluster tables that are explicitly partitioned by KEY or LINEAR KEY may contain foreign key references or be referenced by foreign keys (or both). This is unlike the case with InnoDB tables that are user partitioned, which may not have any foreign key relationships.

    You can create an NDB table having a foreign key reference on another NDB table using CREATE TABLE ... [CONSTRAINT] FOREIGN KEY ... REFERENCES. A child table's foreign key definitions can be seen in the output of SHOW CREATE TABLE; you can also obtain information about foreign keys by querying the INFORMATION_SCHEMA.KEY_COLUMN_USAGE table.

    FOREIGN KEY Constraints, provides general information about foreign key support in MySQL. For more information about the syntax supported by MySQL for foreign keys, see FOREIGN KEY Constraints.

NoSQL Connector for JavaScript (Node.js)

  • NDB Cluster APIs: MySQL NDB Cluster 7.3 includes support for JavaScript applications written against Node.js with MySQL NDB Cluster and MySQL Server as a data store. The Connector for JavaScript provides a domain object model similar in many ways to that employed by ClusterJ (see The ClusterJ API and Data Object Model) and can be used with either of two back-end adapters: the ndb adapter, which uses the NDB API to provide high-performance native access to MySQL NDB Cluster; and the mysql-js adapter, which uses the MySQL Server and the node-mysql driver available from .

    The Connector for JavaScript is included with the MySQL NDB Cluster distribution, and contains setup programs which can assist you with installation of the connector. You must have Node.js and MySQL NDB Cluster installed prior to running the setup scripts. The node-mysql driver is also required for the mysql-js Node.js adapter; you can install this using the package management tool included with Node.js. For more information, see MySQL NoSQL Connector for JavaScript.

Functionality Added or Changed

  • Important Change: The behavior of and values used for the TCP_RCV_BUF_SIZE and TCP_SND_BUF_SIZE TCP configuration parameters have been improved. Formerly, the default values for these parameters were 70080 and 71540, respectively—which it was later found could lead to excessive timeouts in some circumstances—with the minimum for each of them being 1. Now, the default and recommended value is 0 for both TCP_RCV_BUF_SIZE and TCP_SND_BUF_SIZE, which allows the operating system or platform to choose the send or receive buffer size for TCP sockets. (Bug #14554519)

    References: See also: Bug #14168828.

  • NDB Cluster APIs: Added DUMP code 2514, which provides information about counts of transaction objects per API node. For more information, see DUMP 2514. See also Commands in the NDB Cluster Management Client. (Bug #15878085)

  • When ndb_restore fails to find a table, it now includes in the error output an NDB API error code giving the reason for the failure. (Bug #16329067)

  • Data node logs now provide tracking information about arbitrations, including which nodes have assumed the arbitrator role and at what times. (Bug #11761263, Bug #53736)

Bugs Fixed

  • Important Note; NDB Replication: Setting binlog_row_image=minimal caused MySQL NDB Cluster replication conflict resolution to fail.

    To fix this problem, support for this variable is disabled in the NDB storage engine such that setting it or the corresponding --binlog-row-image server option has no effect for NDB tables. (Bug #16316828)

  • ndbmemcache: When using a large values table, memcached failed to store flags correctly or not at all in NDB, even when it had been configured to, as follows:

    • In MySQL NDB Cluster 7.2.4 and earlier, the flags value was never stored for long values, even if configured to do so.

    • In MySQL NDB Cluster 7.2.6 and later, nonzero flags values were correctly stored for long values, but a value of zero was not stored.

    In addition, because some clients (such as Spymemcached for Java) use the flags field, this fix also enables storage of flags for the values table by default. (Bug #14088078)

  • API: mysqld failed to respond when mysql_shutdown() was invoked from a C application, or mysqladmin shutdown was run from the command line. (Bug #14849574)

  • When an update of an NDB table changes the primary key (or part of the primary key), the operation is executed as a delete plus an insert. In some cases, the initial read operation did not retrieve all column values required by the insert, so that another read was required. This fix ensures that all required column values are included in the first read in such cases, which saves the overhead of an additional read operation. (Bug #16614114)

  • Pushed joins executed when optimizer_switch='batched_key_access=on' was also in use returned incorrect results. (Bug #16437431)

  • Selecting from the INFORMATION_SCHEMA.KEY_COLUMN_USAGE table while using tables with foreign keys caused mysqld to crash. (Bug #16246874, Bug #68224)

  • Including a table as a part of a pushed join should be rejected if there are outer joined tables in between the table to be included and the tables with which it is joined with; however the check as performed for any such outer joined tables did so by checking the join type against the root of the pushed query, rather than the common ancestor of the tables being joined. (Bug #16199028)

    References: See also: Bug #16198866.

  • Some queries were handled differently with ndb_join_pushdown enabled, due to the fact that outer join conditions were not always pruned correctly from joins before they were pushed down. (Bug #16198866)

    References: See also: Bug #16199028.

  • Attempting to perform additional operations such as ADD COLUMN as part of an ALTER [ONLINE | OFFLINE] TABLE ... RENAME ... statement is not supported, and now fails with an ER_NOT_SUPPORTED_YET error. (Bug #16021021)

  • Purging the binary logs could sometimes cause mysqld to crash. (Bug #15854719)