MySQL Lists are EOL. Please join:

List:Announcements« Previous MessageNext Message »
From:Lars Tangvald Date:October 23 2018 5:44pm
Subject:MySQL Cluster 7.6.8 has been released
View as plain text  
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.8, 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.8 (5.7.24-ndb-7.6.8) (2018-10-23, 
General Availability)

    MySQL NDB Cluster 7.6.8 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.24 (see Changes in MySQL 5.7.24 (2018-10-22, 
General Availability)

Functionality Added or Changed

      * Performance: This release introduces a number of
        significant improvements in the performance of
        these are listed here:

           + Row checksums help detect
hardware issues, but do so
             at the expense of
performance. NDB now offers the
             possibility of
disabling these by setting the new
server system variable to 0; doing
             this means that row
checksums are not used for new
             or altered tables.
This can have a significant
             impact (5 to 10
percent, in some cases) on
             performance for all
types of queries. This variable
             is set to 1 by
default, to provide compatibility
             with the previous

           + A query consisting of a scan can
execute for a
             longer time in the LDM
threads when the queue is not

           + Previously, columns were read
before checking a
             pushed condition; now
checking of a pushed condition
             is done before reading
any columns.

           + Performance of pushed joins
should see significant
             improvement when using
range scans as part of join

Bugs Fixed

      * Packaging: Expected NDB header files were in the devel
        RPM package instead of libndbclient-devel. (Bug
        Bug #26448330)

      * NDB Disk Data: While restoring a local checkpoint, it is
        possible to insert a row that already exists in the
        database; this is expected behavior which is handled
        deleting the existing row first, then inserting the
        copy of that row. In some cases involving data on
        NDB failed to delete the existing row. (Bug #91627,

      * NDB Client Programs: Removed a memory leak in
        NdbImportUtil::RangeList that was revealed in ASAN
        builds. (Bug #91479, Bug #28264144)

      * MySQL NDB ClusterJ: When a table containing a BLOB or a
        TEXT field was being queried with ClusterJ for a
        that did not exist, an exception ("The method is not
        valid in current blob state") was thrown. (Bug

      * MySQL NDB ClusterJ: A NullPointerException was thrown
        when a full table scan was performed with ClusterJ
        tables containing either a BLOB or a TEXT field. It
        because the proper object initializations were
        and they have now been added by this fix. (Bug
        Bug #91242)

      * When copying deleted rows from a live node to a node just
        starting, it is possible for one or more of these
rows to
        have a global checkpoint index equal to zero. If
        happened at the same time that a full local
        was started due to the undo log getting full, the
        LCP_SKIP bit was set for a row having GCI = 0,
leading to
        an unplanned shutdown of the data node. (Bug

      * ndbmtd sometimes experienced a hang when exiting due to
        log thread shutdown. (Bug #28027150)

      * When the SUMA kernel block receives a SUB_STOP_REQ
        signal, it executes the signal then replies with
        SUB_STOP_CONF. (After this response is relayed back
        the API, the API is open to send more SUB_STOP_REQ
        signals.) After sending the SUB_STOP_CONF, SUMA
drops the
        subscription if no subscribers are present, which
        involves sending multiple DROP_TRIG_IMPL_REQ
messages to
        DBTUP. LocalProxy can handle up to 21 of these
        in parallel; any more than this are queued in the
        Time Queue. When execution of a DROP_TRIG_IMPL_REQ
        delayed, there was a chance for the queue to become
        overloaded, leading to a data node shutdown with
Error in
        short time queue.
        This issue is fixed by delaying the execution of the
        SUB_STOP_REQ signal if DBTUP is already handling
        DROP_TRIG_IMPL_REQ signals at full capacity, rather
        queueing up the DROP_TRIG_IMPL_REQ signals. (Bug

      * Having a large number of deferred triggers could
        sometimes lead to job buffer exhaustion. This could
        due to the fact that a single trigger can execute
        operations---for example, a foreign key parent
        may perform operations on multiple matching child
        rows---and that a row operation on a base table can
        execute multiple triggers. In such cases, row
        are executed in batches. When execution of many
        was deferred---meaning that all deferred triggers
        executed at pre-commit---the resulting concurrent
        execution of a great many trigger operations could
        the data node job buffer or send buffer to be
        leading to failure of the node.
        This issue is fixed by limiting the number of
        trigger operations as well as the number of trigger
        requests outstanding per transaction.
        For immediate triggers, limiting of concurrent
        operations may increase the number of triggers
waiting to
        be executed, exhausting the trigger record pool and
        resulting in the error Too many concurrently fired
        triggers (increase MaxNoOfFiredTriggers. This can be
        avoided by increasing MaxNoOfFiredTriggers, reducing
        user transaction batch size, or both. (Bug
        References: See also: Bug #18229003, Bug #27310330.

      * ndbout and ndberr became invalid after exiting from
        mgmd_run(), and redirecting to them before the next
        to mgmd_run() caused a segmentation fault, during an
        service restart. This fix ensures that ndbout and
        remain valid at all times. (Bug #17732772, Bug

      * Running out of undo log buffer memory was reported using
        error 921 Out of transaction memory ... (increase
        This problem is fixed by introducing a new error
code 923
        Out of undo buffer memory (increase
        (Bug #92125, Bug #28537319)

      * When moving an OperationRec from the serial to the
        parallel queue, Dbacc::startNext() failed to update
        Operationrec::OP_ACC_LOCK_MODE flag which is
required to
        reflect the accumulated OP_LOCK_MODE of all previous
        operations in the parallel queue. This inconsistency
        the ACC lock queues caused the scan lock takeover
        mechanism to fail, as it incorrectly concluded that
        lock to take over was not held. The same failure
        an assert when aborting an operation that was a
member of
        such an inconsistent parallel lock queue. (Bug
        Bug #28530928)

      * A data node failed during startup due to the arrival of a
        SCAN_FRAGREQ signal during the restore phase. This
        originated from a scan begun before the node had
        previously failed and which should have been aborted
        to the involvement of the failed node in it. (Bug
        Bug #28518448)

      * DBTUP sent the error Tuple corruption detected when a
        read operation attempted to read the value of a
        inserted within the same transaction. (Bug #92009,

      * False constraint violation errors could occur when
        executing updates on self-referential foreign keys.
        #91965, Bug #28486390)
        References: See also: Bug #90644, Bug #27930382.

      * An NDB internal trigger definition could be dropped while
        pending instances of the trigger remained to be
        by attempting to look up the definition for a
        which had already been released. This caused
        unpredictable and thus unsafe behavior possibly
        to data node failure. The root cause of the issue
lay in
        an invalid assumption in the code relating to
        whether a given trigger had been released; the issue
        fixed by ensuring that the behavior of NDB, when a
        trigger definition is determined to have been
        is consistent, and that it meets expectations. (Bug
        #91894, Bug #28451957)

      * In some cases, a workload that included a high number of
        concurrent inserts caused data node failures when
        debug builds. (Bug #91764, Bug #28384750)

      * During an initial node restart with disk data tables
        present and TwoPassInitialNodeRestartCopy enabled,
        used an unsafe scan in disk order. Such scans are no
        longer employed in this case. (Bug #91724, Bug

      * Checking for old LCP files tested the table version, but
        this was not always dependable. Now, instead of
        on the table version, the check reagrds as invalid
        LCP file having a maxGCI smaller than its createGci.
        #91637, Bug #28346565)

      * In certain cases, a cascade update trigger was fired
        repeatedly on the same record, which eventually
        all available concurrent operations, leading to
Error 233
        Out of operation records in transaction coordinator
        (increase MaxNoOfConcurrentOperations). If
        MaxNoOfConcurrentOperations was set to a value
        sufficiently high to avoid this, the issue
manifested as
        data nodes consuming very large amounts of CPU, very
        likely eventually leading to a timeout. (Bug #91472,

      * Inserting a row into an NDB table having a
        self-referencing foreign key that referenced a
        index on the table other than the primary key failed
        ER_NO_REFERENCED_ROW_2. This was due to the fact
that NDB
        checked foreign key constraints before the unique
        was updated, so that the constraint check was unable
        use the index for locating the row. Now, in such
        NDB waits until all unique index values have been
        before checking foreign key constraints on the
        row. (Bug #90644, Bug #27930382)
        References: See also: Bug #91965, Bug #28486390.

      * A connection string beginning with a slash (/) character
        is now rejected by ndb_mgmd.
        Our thanks to Daniël van Eeden for contributing
this fix.
        (Bug #90582, Bug #27912892)

MySQL Cluster 7.6.8 has been releasedLars Tangvald23 Oct