The following sections describe changes in the implementation of MySQL NDB Cluster in NDB Cluster 8.1 (8.1.0), as compared to earlier release series. NDB Cluster 8.1 is available as an Innovation release for preview and testing of new features currently under development. For production, please use NDB 8.0; for more information, see MySQL NDB Cluster 8.0. NDB Cluster 7.6 and 7.5 are previous GA releases still supported in production; for information about NDB Cluster 7.6, see What is New in NDB Cluster 7.6. For similar information about NDB Cluster 7.5, see What is New in NDB Cluster 7.5. NDB Cluster 7.4 and 7.3 were previous GA releases which have reached their end of life, and which are no longer supported or maintained. We recommend that new deployments for production use MySQL NDB Cluster 8.0.
What is New in NDB Cluster 8.1
Major changes and new features in NDB Cluster 8.1 which are likely to be of interest are shown in the following list:
NDB API primary key updates. Previously, when using any other mechanism than
NdbRecord
in an attempt to update a primary key value, the NDB API returned error 4202 Set value on tuple key attribute is not allowed, even setting a value identical to the existing one. In NDB 8.1, checking when performing updates by other means is now handed off to the data nodes, as it is already when usingNdbRecord
to perform the update.This means that you can now perform primary key updates using
NdbOperation::setValue()
,NdbInterpretedCode::write_attr()
, and other methods ofNdbOperation
andNdbInterpretedCode
which set column values (including theNdbOperation
methodsincValue()
,subValue()
, theNdbInterpretedCode
methodsadd_val()
,sub_val()
, and so on). This also applies to theNdbOperation
interface'sOperationOptions::OO_SETVALUE
extension.Improved warnings. Made the following improvements in warning output:
The maximum time allowed without any progress is now also printed in addition to local checkpoint (LCP) elapsed time.
When an LCP reaches
WAIT_END_LCP
state, table IDs and fragment IDs are undefined and so no longer relevant; for this reason, we no longer attempt to print them at that point.Removed duplicated information printed when the maximum limit was reached (the same information was shown as both warning and crash information).
In addition, we no longer print the message Validating excluded objects to the SQL node's error log every
ndb_metadata_check_interval
(default 60) seconds whenlog_error_verbosity
is greater than or equal to 3 (INFO level), due ot the fact that such messages tended to flood the error log, making it difficult to examine, and using excess disk space, while not providing any additional benefit to the user.Pushdown joins between queries featuring very large and possibly overlapping
IN()
andNOT IN()
lists are now handled in a correct and safe manner.ndbcluster
plugin log messages now useSYSTEM
as the log level andNDB
as the subsystem for logging. This means that informational messages from thendbcluster
plugin are always printed; their verbosity can be controlled by using--ndb_extra_logging
.
MySQL Cluster Manager has an advanced command-line interface that can simplify many complex NDB Cluster management tasks. See MySQL Cluster Manager 1.4.8 User Manual, for more information.