-
NDB Client Programs: Effective with this release, the MySQL NDB Cluster Auto-Installer (ndb_setup.py) has been has been removed from the NDB Cluster binary and source distributions, and is no longer supported. (Bug #32084831)
References: See also: Bug #31888835.
-
Using the maximum size of an index key supported by index statistics (3056 bytes) caused buffer issues in data nodes. (Bug #32094904)
References: See also: Bug #25038373.
-
When a table creation schema transaction is prepared, the table is in
TS_CREATING
state, and is changed toTS_ACTIVE
state when the schema transaction commits on theDBDIH
block. In the case where the node acting asDBDIH
coordinator fails while the schema transaction is committing, another node starts taking over for the coordinator. The following actions are taken when handling this node failure:DBDICT
rolls the table creation schema transaction forward and commits, resulting in the table involved changing toTS_ACTIVE
state.DBDIH
starts removing the failed node from tables by moving active table replicas on the failed node from a list of stored fragment replicas to another list.
These actions are performed asynchronously many times, and when interleaving may cause a race condition. As a result, the replica list in which the replica of a failed node resides becomes nondeterministic and may differ between the recovering node (that is, the new coordinator) and other
DIH
participant nodes. This difference violated a requirement for knowing which list the failed node's replicas can be found during the recovery of the failed node recovery on the other participants.To fix this, moving active table replicas now covers not only tables in
TS_ACTIVE
state, but those inTS_CREATING
(prepared) state as well, since the prepared schema transaction is always rolled forward.In addition, the state of a table creation schema transaction which is being aborted is now changed from
TS_CREATING
orTS_IDLE
toTS_DROPPING
, to avoid any race condition there. (Bug #30521812)