MySQL Cluster 7.6.14 has been released
Posted by: Piotr Obrzut
Date: April 28, 2020 06:31AM
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
https://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.
MySQL Cluster 7.6 is also available from our repository for Linux
platforms, go here for details:
https://dev.mysql.com/downloads/
The release notes are available from
https://dev.mysql.com/doc/relnotes/mysql-cluster/7.6/en/
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
https://www.mysql.com/products/cluster/
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
https://dev.mysql.com/downloads/cluster/.
For an overview of changes made in NDB Cluster 7.6, see What
is New in NDB Cluster 7.6
(https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-what-is-new-7-6.html).
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)
(https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-30.html)).
* 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
#28583971)
* 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
DomainTypeHandlerFactoryTest.
+ 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
patch.
+ 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
#29931625)
* 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
tables.
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,
SMALLINT, TINYINT, MEDIUMINT, BIGINT
(https://dev.mysql.com/doc/refman/5.7/en/integer-types.html)).
+ 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
available.
For more information, see the descriptions for
--remap-column, --auto-inc, and --context. (Bug
#30383950)
* 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
change.
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
#30634010)
* 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
#30183466)
On Behalf of MySQL Release Engineering Team
Piotr Obrzut
Subject
Views
Written By
Posted
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.