MySQL NDB Cluster 7.6.23 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.
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.39 (see Changes in MySQL 5.7.39 (2022-07-26, General Availability)).
-
Important Change; NDB Replication: The
slave_allow_batching
system variable affects how efficiently the slave applies epoch transactions. When this variable is set toOFF
, by default, every discrete replication event in the binary log is applied and executed separately, which generally leads to poor performance.Beginning with this release, if slave batching is disabled (
slave_allow_batching
set toOFF
), the MySQL server now reports a warning, with an admonition to enable it.
NDB Replication: Updating a row of an
NDB
table having only the hidden primary key (but no explicit PK) on the source could lead to a stoppage of the SQL thread on the replica. (Bug #33974581)NDB Cluster APIs: The internal function
NdbThread_SetThreadPrio()
sets the thread priority (thread_prio
) for a given thread type when applying the setting of theThreadConfig
configuration parameter. It was possible for this function in some cases to return an error when it had actually succeeded, which could have a an unfavorable impact on the performance of some NDB API applications. (Bug #34038630)Path lengths were not always calculated correctly by the data nodes. (Bug #33993607)
The internal function
NdbReceiver::unpackRecAttr()
, which unpacks attribute values from a buffer from aGSN_TRANSID_AI
signal, did not check to ensure that attribute sizes fit within the buffer. This could corrupt the buffer which could in turn lead to reading beyond the buffer and copying beyond destination buffers. (Bug #33941167)Some
NDB
internal signals were not always checked properly. (Bug #33896428)