MySQL NDB Cluster 8.0.38 is a new release of NDB 8.0, based on
MySQL Server 8.0 and including features in version 8.0 of the
NDB
storage engine, as well as fixing
recently discovered bugs in previous NDB Cluster releases.
Obtaining NDB Cluster 8.0. NDB Cluster 8.0 source code and binaries can be obtained from https://dev.mysql.com/downloads/cluster/.
For an overview of changes made in NDB Cluster 8.0, see What is New in MySQL NDB Cluster 8.0.
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 8.0 through MySQL 8.0.38 (see Changes in MySQL 8.0.38 (2024-07-01, General Availability)).
-
ndbinfo Information Database: The following columns have been added to the
transporter_details
table:sendbuffer_used_bytes
: Number of bytes of signal data currently stored pending send using this transporter.sendbuffer_max_used_bytes
: Historical maximum number of bytes of signal data stored pending send using this transporter. Reset when the transporter connects.sendbuffer_alloc_bytes
: Number of bytes of send buffer currently allocated to store pending send bytes for this transporter. Send buffer memory is allocated in large blocks which may be sparsely used.sendbuffer_max_alloc_bytes
: Historical maximum number of bytes of send buffer allocated to store pending send bytes for this transporter.type
: The connection type used by this transporter (TCP
orSHM
).
See The ndbinfo transporter_details Table, for more information. (Bug #36579842)
References: See also: Bug #36569947.
-
NDB Client Programs: When started, ndbd now produces a warning in the data node log like this one:
2024-05-28 13:32:16 [ndbd] WARNING -- Running ndbd with a single thread of signal execution. For multi-threaded signal execution run the ndbmtd binary.
(Bug #36326896)
-
NDB Client Programs: ndb_restore did not restore a foreign key whose columns differed in order from those of the parent key.
Our thanks to Axel Svensson for the contribution. (Bug #114147, Bug #36345882)
Removed a memory leak from
src/ndbapi/NdbDictionaryImpl.cpp
. (Bug #36532102)When building
NDB
using lld, the build terminated prematurely with the error message ld.lld: error: version script assignment of 'local' to symbol 'my_init' failed: symbol not defined while attempting to linklibndbclient.so
. (Bug #36431274)The included
libxml2
library was updated to version 2.9.13. (Bug #36417013)An error injected in the
LQH
proxy and then resent to all workers was eventually cleared by the workers, but not in theLQH
proxy where it was never cleared. (Bug #36398772)Setting
AutomaticThreadConfig
andNumCPUs
when running single-threaded data nodes (ndbd) sometimes led to unrecoverable errors. Now ndbd ignores settings for these parameters, which are intended to apply only to multi-threaded data nodes (ndbmtd). (Bug #36388981)-
The handling of the
LQH
operation pool which occurs as part of TC takeover skipped the last element in either of the underlying physical pools (static or dynamic). If this element was in use, holding an operation record for a transaction belonging to a transaction coordinator on the failed node, it was not returned, resulting in an incomplete takeover which sometimes left operations behind. Such operations interfered with subsequent transactions and the copying process (CopyFrag
) used by the failed node to recover.To fix this problem, we avoid skipping the final record while iterating through the
LQH
operation records during TC takeover. (Bug #36363119) The
libssh
library was updated to version 0.10.4. (Bug #36135621)When distribution awareness was not in use, the cluster tended to choose the same data node as the transaction coordinator repeatedly. (Bug #35840020, Bug #36554026)
In certain cases, management nodes were unable to allocate node IDs to restarted data and SQL nodes. (Bug #35658072)