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