MySQL Forums
Forum List  »  Announcements

MySQL Cluster 7.6.14 has been released
Posted by: Piotr Obrzut
Date: April 28, 2020 06:31AM

Dear MySQL Users,

MySQL Cluster is the distributed, shared-nothing variant of MySQL.
This storage engine provides:

  - In-Memory storage - Real-time performance (with optional
    checkpointing to disk)
  - Transparent Auto-Sharding - Read & write scalability
  - Active-Active/Multi-Master geographic replication
  - 99.999% High Availability with no single point of failure
    and on-line maintenance
  - NoSQL and SQL APIs (including C++, Java, http, Memcached
    and JavaScript/Node.js)

MySQL Cluster 7.6.14 has been released and can be downloaded from

where you will also find Quick Start guides to help you get your
first MySQL Cluster database up and running.

MySQL Cluster 7.6 is also available from our repository for Linux
platforms, go here for details:

The release notes are available from

MySQL Cluster enables users to meet the database challenges of next
generation web, cloud, and communications services with uncompromising
scalability, uptime and agility.

More details can be found at

Enjoy !


Changes in MySQL NDB Cluster 7.6.14 (5.7.30-ndb-7.6.14) (2020-04-28, General Availability)

   MySQL NDB Cluster 7.6.14 is a new release of NDB 7.6, based
   on MySQL Server 5.7 and including features in version 7.6 of
   the NDB storage engine, as well as fixing recently discovered
   bugs in previous NDB Cluster releases.

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

   For an overview of changes made in NDB Cluster 7.6, see What
   is New in NDB Cluster 7.6

   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.7
   through MySQL 5.7.30 (see Changes in MySQL 5.7.30 (2020-04-27, General Availability)

     * Functionality Added or Changed

     * Bugs Fixed

Functionality Added or Changed

     * NDB Client Programs: Two options are added for the
       ndb_blob_tool utility, to enable it to detect missing
       blob parts for which inline parts exist, and to replace
       these with placeholder blob parts (consisting of space
       characters) of the correct length. To check whether there
       are missing blob parts, use the ndb_blob_tool
       --check-missing option. To replace with placeholders any
       blob parts which are missing, use the program's
       --add-missing option, also added in this release. (Bug

     * NDB Client Programs: Removed a dependency from the
       ndb_waiter and ndb_show_tables utility programs on the
       NDBT library. This library, used in NDB development for
       testing, is not required for normal use. The visible
       effect for users from this change is that these programs
       no longer print NDBT_ProgramExit - status following
       completion of a run. Applications that depend upon this
       behavior should be updated to reflect this change when
       upgrading to this release.

     * MySQL NDB ClusterJ: A few Java APIs used by ClusterJ are
       now deprecated in recent Java versions. These adjustments
       have been made to ClusterJ:

          + Replaced all Class.newInstance() calls with
            Class.getDeclaredConstructor().newInstance() calls.
            Also updated the exception handling and the test
            cases wherever required.

          + All the Number classes' constructors that
            instantiate an object from a String or a primitive
            type are deprecated. Replaced all such deprecated
            instantiation calls with the corresponding valueOf()
            method calls.

          + The Proxy.getProxyClass() is now deprecated. The
            DomainTypeHandlerImpl class now directly creates a
            new instance using the Proxy.newProxyInstance()
            method; all references to the Proxy class and its
            constructors are removed from the
            DomainTypeHandlerImpl class. SessionFactoryImpl
            class now uses the interfaces underlying the proxy
            object to identify the domain class rather than
            using the Proxy class. Also updated

          + The finalize() method is now deprecated. This patch
            does not change the overriding finalize() methods,
            but just suppresses the warnings on them. This
            deprecation will be handled separately in a later

          + Updated the CMake configuration to treat deprecation
            warnings as errors when compiling ClusterJ.
       (Bug #29931625)

     * MySQL NDB ClusterJ: The minimum Java version ClusterJ
       supports for MySQL NDB Cluster 8.0 is now Java 8. (Bug

     * MySQL NDB ClusterJ: The unused antlr3 plugin has been
       removed from the ClusterJ pom file. (Bug #29931625)

     * It now possible to consolidate data from separate
       instances of NDB Cluster into a single target NDB Cluster
       when the original datasets all use the same schema. This
       is supported when using backups created using START
       BACKUP in ndb_mgm and restoring them with ndb_restore,
       using the --remap-column option implemented in this
       release (along with --restore-data and possibly other
       options). --remap-column can be employed to handle cases
       of overlapping primary, unique, or both sorts of key
       values between source clusters, and you need to make sure
       that they do not overlap in the target cluster. This can
       also be done to preserve other relationships between
       When used together with --restore-data, the new option
       applies a function to the value of the indicated column.
       The value set for this option is a string of the format
       db.tbl.col:fn:args, whose components are listed here:

          + db: Database name, after performing any renames.

          + tbl: Table name.

          + col: Name of the column to be updated. This column
            must use of one of the MySQL integer types (see
            Integer Types (Exact Value) - INTEGER, INT,

          + fn: Function name; currently, the only supported
            name is offset.

          + args: The size of the offset to be added to the
            column value by offset. The range of the argument is
            that of the signed variant of the column's type;
            thus, negative offsets are supported.
       You can use --remap-column for updating multiple columns
       of the same table and different columns of different
       tables, as well as combinations of multiple tables and
       columns. Different offset values can be employed for
       different columns of the same table.
       As part of this work, two new options are also added to
       ndb_desc in this release:

          + --auto-inc (short form -a): Includes the the next
            auto-increment value in the output, if the table has
            an AUTO_INCREMENT column.

          + --context (short form -x): Provides extra
            information about the table, including the schema,
            database name, table name, and internal ID.
       These options may be useful for obtaining information
       about NDB tables when planning a merge, particularly in
       situations where the mysql client may not be readily
       For more information, see the descriptions for
       --remap-column, --auto-inc, and --context. (Bug

     * ndb_restore now supports different primary key
       definitions for source and target tables when restoring
       from an NDB native backup, using the --allow-pk-changes
       option introduced in this release. Both increasing and
       decreasing the number of columns making up the original
       primary key are supported. This may be useful when it is
       necessary to accommodate schema version changes while
       restoring data, or when doing so is more efficient or
       less time-consuming than performing ALTER TABLE
       statements involving primary key changes on a great many
       tables following the restore operation.
       When extending a primary key with additional columns, any
       columns added must not be nullable, and any values stored
       in any such columns must not change while the backup is
       being taken. Changes in the values of any such column
       while trying to add it to the table's primary key causes
       the restore operation to fail. Due to the fact that some
       applications set the values of all columns when updating
       a row even if the values of one or more of the columns
       does not change, it is possible to override this behavior
       by using the --ignore-extended-pk-updates option which is
       also added in this release. If you do this, care must be
       taken to insure that such column values do not actually
       When removing columns from the table's primary key, it is
       not necessary that the columns dropped from the primary
       key remain part of the table afterwards.
       For more information, see the description of the
       --allow-pk-changes option in the documentation for
       ndb_restore. (Bug #26435136, Bug #30383947, Bug

     * Added the --ndb-log-fail-terminate option for mysqld.
       When used, this causes the SQL node to terminate if it is
       unable to log all row events. (Bug #21911930)

Bugs Fixed

     * MySQL NDB ClusterJ: When a Date value was read from a NDB
       cluster, ClusterJ sometimes extracted the wrong year
       value from the row. It was because the Utility class,
       when unpacking the Date value, wrongly extracted some
       extra bits for the year. This patch makes ClusterJ only
       extract the required bits. (Bug #30600320)

     * MySQL NDB ClusterJ: When the cluster's
       NdbOperation::AbortOption type had the value of
       AO_IgnoreOnError, when there was a read error, ClusterJ
       took that as the row was missing and returned null
       instead of an exception. This was because with
       AO_IgnoreOnErro, the execute() method always returns a
       success code after each transaction, and ClusterJ is
       supposed to check for any errors in any of the individual
       operations; however, read operations were not checked by
       ClusterJ in the case. With this patch, read operations
       are now checked for errors after query executions, so
       that a reading error is reported as such. (Bug #30076276)

     * When restoring signed auto-increment columns, ndb_restore
       incorrectly handled negative values when determining the
       maximum value included in the data. (Bug #30928710)

     * When processing a CSV file, ndb_import did not accept
       trailing field terminators at the ends of lines that were
       accepted by mysqlimport. (Bug #30434663)

     * When a node ID allocation request failed with NotMaster
       temporary errors, the node ID allocation was always
       retried immediately, without regard to the cause of the
       error. This caused a very high rate of retries, whose
       effects could be observed as an excessive number of Alloc
       node id for node nnn failed log messages (on the order of
       15,000 messages per second). (Bug #30293495)

     * For NDB tables having no explicit primary key,
       NdbReceiverBuffer could be allocated with too small a
       size. This was due to the fact that the attribute bitmap
       sent to NDB from the data nodes always includes the
       primary key. The extra space required for hidden primary
       keys is now taken into consideration in such cases. (Bug

On Behalf of MySQL Release Engineering Team
Piotr Obrzut 

Options: ReplyQuote

Written By
MySQL Cluster 7.6.14 has been released
April 28, 2020 06:31AM

Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.