MySQL Cluster 7.4.11 has been released

Sreedhar S <[email protected]> Wed, 20 Apr 2016 21:00:36 +0530
Newsgroups gmane.comp.db.mysql.announce,gmane.comp.db.mysql.general,gmane.comp.db.mysql.packagers
Organization Oracle Corporation
Message-ID <[email protected]>
Dear MySQL Users,

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

   - In-Memory storage - Real-time performance
   - 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.4 makes significant advances in performance;
operational efficiency (such as enhanced reporting and faster restarts
and upgrades) and conflict detection and resolution for active-active
replication between MySQL Clusters.

MySQL Cluster 7.4.11, has been released and can be downloaded from

http://www.mysql.com/downloads/cluster/

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

The release notes are available from

http://dev.mysql.com/doc/relnotes/mysql-cluster/7.4/en/index.html

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

http://www.mysql.com/products/cluster/

Enjoy !


Changes in MySQL Cluster NDB 7.4.11 (5.6.29-ndb-7.4.11) (2016-04-20)

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

    Obtaining MySQL Cluster NDB 7.4.  MySQL Cluster NDB 7.4
    source code and binaries can be obtained from
http://dev.mysql.com/downloads/cluster/.

    For an overview of changes made in MySQL Cluster NDB 7.4, see
    What is New in MySQL Cluster NDB 7.4
    
(http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-what-is-new-7-4.html). 


    This release also incorporates all bugfixes and changes made
    in previous MySQL Cluster releases, as well as all bugfixes
    and feature changes which were added in mainline MySQL 5.6
    through MySQL 5.6.29 (see Changes in MySQL 5.6.29
    (2016-02-05)
    (http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-29.html)).


    Functionality Added or Changed

      * Cluster API: Added the
        Ndb::setEventBufferQueueEmptyEpoch() method, which makes
        it possible to enable queuing of empty events (event type
        TE_EMPTY). (Bug #22157845)

    Bugs Fixed

      * Important Change: The minimum value for the
        BackupDataBufferSize data node configuration parameter
        has been lowered from 2 MB to 512 KB. The default and
        maximum values for this parameter remain unchanged. (Bug
        #22749509)

      * Microsoft Windows: Performing ANALYZE TABLE on a table
        having one or more indexes caused ndbmtd to fail with an
        InvalidAttrInfo error due to signal corruption. This
        issue occurred consistently on Windows, but could also be
        encountered on other platforms. (Bug #77716, Bug
        #21441297)

      * During node failure handling, the request structure used
        to drive the cleanup operation was not maintained
        correctly when the request was executed. This led to
        inconsistencies that were harmless during normal
        operation, but these could lead to assertion failures
        during node failure handling, with subsequent failure of
        additional nodes. (Bug #22643129)

      * The previous fix for a lack of mutex protection for the
        internal TransporterFacade::deliver_signal() function was
        found to be incomplete in some cases. (Bug #22615274)
        References: This bug was introduced by Bug #77225, Bug
        #21185585.

      * When setup of the binary log as an atomic operation on
        one SQL node failed, this could trigger a state in other
        SQL nodes in which they appeared to detect the SQL node
        participating in schema change distribution, whereas it
        had not yet completed binary log setup. This could in
        turn cause a deadlock on the global metadata lock when
        the SQL node still retrying binary log setup needed this
        lock, while another mysqld had taken the lock for itself
        as part of a schema change operation. In such cases, the
        second SQL node waited for the first one to act on its
        schema distribution changes, which it was not yet able to
        do. (Bug #22494024)

      * Duplicate key errors could occur when ndb_restore was run
        on a backup containing a unique index. This was due to
        the fact that, during restoration of data, the database
        can pass through one or more inconsistent states prior to
        completion, such an inconsistent state possibly having
        duplicate values for a column which has a unique index.
        (If the restoration of data is preceded by a run with
        --disable-indexes and followed by one with
        --rebuild-indexes, these errors are avoided.)
        Added a check for unique indexes in the backup which is
        performed only when restoring data, and which does not
        process tables that have explicitly been excluded. For
        each unique index found, a warning is now printed. (Bug
        #22329365)

      * Restoration of metadata with ndb_restore -m occasionally
        failed with the error message Failed to create index...
        when creating a unique index. While disgnosing this
        problem, it was found that the internal error
        PREPARE_SEIZE_ERROR (a temporary error) was reported as
        an unknown error. Now in such cases, ndb_restore retries
        the creation of the unique index, and PREPARE_SEIZE_ERROR
        is reported as NDB Error 748 Busy during read of event
        table. (Bug #21178339)
        References: See also Bug #22989944.

      * When setting up event logging for ndb_mgmd on Windows,
        MySQL Cluster tries to add a registry key to
        HKEY_LOCAL_MACHINE, which fails if the user does not have
        access to the registry. In such cases ndb_mgmd logged the
        error Could neither create or open key, which is not
        accurate and which can cause confusion for users who may
        not realize that file logging is available and being
        used. Now in such cases, ndb_mgmd logs a warning Could
        not create or access the registry key needed for the
        application to log to the Windows EventLog. Run the
        application with sufficient privileges once to create the
        key, or add the key manually, or turn off logging for
        that application. An error (as opposed to a warning) is
        now reported in such cases only if there is no available
        output at all for ndb_mgmd event logging. (Bug #20960839)

      * NdbDictionary metadata operations had a hard-coded 7-day
        timeout, which proved to be excessive for short-lived
        operations such as retrieval of table definitions. This
        could lead to unnecessary hangs in user applications
        which were difficult to detect and handle correctly. To
        help address this issue, timeout behaviour is modified so
        that read-only or short-duration dictionary interactions
        have a 2-minute timeout, while schema transactions of
        potentially long duration retain the existing 7-day
        timeout.
        Such timeouts are intended as a safety net: In the event
        of problems, these return control to users, who can then
        take corrective action. Any reproducible issue with
        NdbDictionary timeouts should be reported as a bug. (Bug
        #20368354)

      * Optimization of signal sending by buffering and sending
        them periodically, or when the buffer became full, could
        cause SUB_GCP_COMPLETE_ACK signals to be excessively
        delayed. Such signals are sent for each node and epoch,
        with a minimum interval of TimeBetweenEpochs; if they are
        not received in time, the SUMA buffers can overflow as a
        result. The overflow caused API nodes to be disconnected,
        leading to current transactions being aborted due to node
        failure. This condition made it difficult for long
        transactions (such as altering a very large table), to be
        completed. Now in such cases, the ACK signal is sent
        without being delayed. (Bug #18753341)

      * An internal function used to validate connections failed
        to update the connection count when creating a new Ndb
        object. This had the potential to create a new Ndb
        object for every operation validating the connection,
        which could have an impact on performance, particularly
        when performing schema operations. (Bug #80750, Bug
        #22932982)

      * When an SQL node was started, and joined the schema
        distribution protocol, another SQL node, already waiting
        for a schema change to be distributed, timed out during
        that wait. This was because the code incorrectly assumed
        that the new SQL node would also acknowledge the schema
        distribution even though the new node joined too late to
        be a participant in it.
        As part of this fix, printouts of schema distribution
        progress now always print the more significant part of a
        bitmask before the less significant; formatting of
        bitmasks in such printouts has also been improved. (Bug
        #80554, Bug #22842538)

      * MySQL Cluster did not compile correctly with Microsoft
        Visual Studio 2015, due to a change from previous
        versions in the VS implementation of the _vsnprintf()
        function. (Bug #80276, Bug #22670525)

      * When setting CPU spin time, the value was needlessly cast
        to a boolean internally, so that setting it to any
        nonzero value yielded an effective value of 1. This
        issue, as well as the fix for it, apply both to setting
        the SchedulerSpinTimer parameter and to setting spintime
        as part of a ThreadConfig parameter value. (Bug #80237,
        Bug #22647476)

      * Processing of local checkpoints was not handled correctly
        on Mac OS X, due to an uninitialized variable. (Bug
        #80236, Bug #22647462)

      * A logic error in an if statement in
        storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp
        rendered useless a check for determining whether
        ZREAD_ERROR should be returned when comparing operations.
        This was detected when compiling with gcc using
        -Werror=logical-op. (Bug #80155, Bug #22601798)
        References: This bug was introduced by Bug #21285604.

      * The ndb_print_file utility failed consistently on Solaris
        9 for SPARC. (Bug #80096, Bug #22579581)

      * Builds with the -Werror and -Wextra flags (as for release
        builds) failed on SLES 11. (Bug #79950, Bug #22539531)

      * When using CREATE INDEX to add an index on either of two
        NDB tables sharing circular foreign keys, the query
        succeeded but a temporary table was left on disk,
        breaking the foreign key constraints. This issue was also
        observed when attempting to create an index on a table in
        the middle of a chain of foreign keys---that is, a table
        having both parent and child keys, but on different
        tables. The problem did not occur when using ALTER TABLE
        to perform the same index creation operation; and
        subsequent analysis revealed unintended differences in
        the way such operations were performed by CREATE INDEX.
        To fix this problem, we now make sure that operations
        performed by a CREATE INDEX statement are always handled
        internally in the same way and at the same time that the
        same operations are handled when performed by ALTER TABLE
        or DROP INDEX. (Bug #79156, Bug #22173891)

      * NDB failed to ignore index prefixes on primary and unique
        keys, causing CREATE TABLE and ALTER TABLE statements
        using them to be rejected. (Bug #78441, Bug #21839248)

      * Compilation of MySQL with Visual Studio 2015 failed in
        ConfigInfo.cpp, due to a change in Visual Studio's
        handling of spaces and concatenation.

      * Cluster API: Executing a transaction with an
        NdbIndexOperation based on an obsolete unique index
        caused the data node process to fail. Now the index is
        checked in such cases, and if it cannot be used the
        transaction fails with an appropriate error. (Bug #79494,
        Bug #22299443)

      * Integer overflow could occur during client handshake
        processing, leading to a server exit. (Bug #22722946)

      * For busy servers, client connection or communication
        failure could occur if an I/O-related system call was
        interrupted. The mysql_options() C API function now has a
        MYSQL_OPT_RETRY_COUNT option to control the number of
        retries for interrupted system calls. (Bug #22336527)
        References: See also Bug #22389653.

Regards
-Sree

-- 
MySQL Announce Mailing List
For list archives: http://lists.mysql.com/announce
To unsubscribe:    http://lists.mysql.com/announce