MySQL Forums
Forum List  »  Announcements

MySQL Cluster 7.4.11 has been released
Posted by: Sreedhar S
Date: April 20, 2016 09:34AM

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 

Options: ReplyQuote


Subject
Views
Written By
Posted
MySQL Cluster 7.4.11 has been released
3078
April 20, 2016 09:34AM


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.