MySQL NDB Cluster 8.4 Release Notes  /  Changes in MySQL NDB Cluster 8.4.11 (2026-07-30)

Changes in MySQL NDB Cluster 8.4.11 (2026-07-30)

MySQL NDB Cluster 8.4.12 is a new LTS release of NDB 8.4, based on MySQL Server 8.4 and including features in version 8.4 of the NDB storage engine, as well as fixing recently discovered bugs in previous NDB Cluster releases.

Obtaining MySQL NDB Cluster 8.4.  NDB Cluster 8.4 source code and binaries can be obtained from https://dev.mysql.com/downloads/cluster/.

For an overview of major changes made in NDB Cluster 8.4, see What is New in MySQL NDB Cluster 8.4.

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.4 through MySQL 8.4.11 (see Changes in MySQL 8.4.11 (2026-07-28)).

Functionality Added or Changed

  • In cloud and service-mesh deployments, NDB Management Server could reject node ID allocation because the incoming connection’s source address did not match the hostname configured for that node. The existing --no-nodeid-checks workaround disabled broader safety checks and could allow multiple nodes to use the same node ID.

    As of this release, a new option, --skip-nodeid-address-check, selectively disables hostname matching, allowing node ID allocation through proxies while retaining other node ID protections.

    --no-nodeid-checks is deprecated and acts as an alias for --skip-nodeid-address-check. (Bug #38899143)

  • As of this release, log messages containing the node group ID are written at node startup and when the node group ID changes due to CREATE NODEGROUP or DROP NODEGROUP. (Bug #36379201)

Bugs Fixed

  • NDB Cluster APIs: NDBAPI could misidentify a complete disconnection from all data nodes as a series of survivable individual node failures when disconnect notifications were delayed. A node could reconnect before all disconnects had been processed, leaving transactions stalled until protocol timeouts and event subscriptions waiting for events that would never arrive.

    NDBAPI now tracks node-failure completion consistently and delays reconnection attempts until failure handling is complete. This ensures complete cluster-side state loss is detected correctly and local transactions and event subscriptions are cleaned up and re-established as needed. (Bug #35959495)

  • When a table or index scan was split across multiple fragments and nodes, some fragment-scan requests could remain queued for sending. If a data node failed at that point, cleanup handled requests already sent but could miss queued requests targeting the failed node, leading to an assertion failure. NDB now handles pending fragment-scan requests for failed nodes correctly, preventing the failure. (Bug #39555153)

  • Backup-abort requests could be rejected if they arrived while backup shutdown processing was already underway, due to an overly restrictive internal state check. This could affect abort handling during concurrent backup-stop activity. The Backup block now accepts abort requests during the relevant stop-processing states. (Bug #39446861)

  • When a filesystem was full or nearly full, an NDB data node could treat a partial file write as successful, risking file corruption. Partial writes are now handled as failures, including reporting unknown error 2813 when a failed file operation has no operating-system error code. (Bug #39436680)

  • An assertion failure could happen on NDBAPI nodes if a newly added API node with a higher node ID connected before the existing API nodes were restarted. Their fixed-size subscription tracking bitmap was sized using the previous configuration and could not represent the new node.

    NDBAPI now allocates this tracking data for the maximum supported cluster node ID and safely rejects out-of-range subscription events with an error message. (Bug #38932493)

  • It was possible for data nodes to stop unexpectedly if TDE was enabled. (Bug #38549404)

  • Fixed an assertion which occurred when bulk inserts or deletes were occurring on a table, while nodes were restarting. (Bug #30702408)