MySQL NDB Cluster 7.3 Release Notes

34.29 Changes in MySQL NDB Cluster 7.3.2 (5.6.11-ndb-7.3.2) (2013-06-18, General Availability)

Bugs Fixed

  • Packaging; Microsoft Windows: The MySQL NDB Cluster installer for Windows provided a nonfunctional option to install debug symbols (contained in *.pdb files). This option has been removed from the installer.

    Note

    You can obtain the *.pdb debug files for a given MySQL NDB Cluster release from the Windows .zip archive for the same release, such as mysql-cluster-gpl-7.2.14-win32.zip or mysql-cluster-gpl-7.3.2-winx64.zip.

    (Bug #16748308, Bug #69112)

  • NDB Disk Data: The statements CREATE TABLESPACE, ALTER LOGFILE GROUP, and ALTER TABLESPACE failed with a syntax error when INITIAL_SIZE was specified using letter abbreviations such as M or G. In addition, CREATE LOGFILE GROUP failed when INITIAL_SIZE, UNDO_BUFFER_SIZE, or both options were specified using letter abbreviations. (Bug #13116514, Bug #16104705, Bug #62858)

  • NDB Cluster APIs: For each log event retrieved using the MGM API, the log event category (ndb_mgm_event_category) was simply cast to an enum type, which resulted in invalid category values. Now an offset is added to the category following the cast to ensure that the value does not fall out of the allowed range.

    Note

    This change was reverted by the fix for Bug #18354165. See the MySQL NDB Cluster API Developer documentation for ndb_logevent_get_next(), for more information.

    (Bug #16723708)

    References: See also: Bug #18354165.

  • NDB Cluster APIs: The Ndb::computeHash() API method performs a malloc() if no buffer is provided for it to use. However, it was assumed that the memory thus returned would always be suitably aligned, which is not always the case. Now when malloc() provides a buffer to this method, the buffer is aligned after it is allocated, and before it is used. (Bug #16484617)

  • mysql_upgrade failed when upgrading from MySQL NDB Cluster 7.1.26 to MySQL NDB Cluster 7.2.13 when it attempted to invoke a stored procedure before the mysql.proc table had been upgraded. (Bug #16933405)

    References: This issue is a regression of: Bug #16226274.

  • The planned or unplanned shutdown of one or more data nodes while reading table data from the ndbinfo database caused a memory leak. (Bug #16932989)

  • Executing DROP TABLE while DBDIH was updating table checkpoint information subsequent to a node failure could lead to a data node failure. (Bug #16904469)

  • In certain cases, when starting a new SQL node, mysqld failed with Error 1427 Api node died, when SUB_START_REQ reached node. (Bug #16840741)

  • Failure to use container classes specific NDB during node failure handling could cause leakage of commit-ack markers, which could later lead to resource shortages or additional node crashes. (Bug #16834416)

  • Use of an uninitialized variable employed in connection with error handling in the DBLQH kernel block could sometimes lead to a data node crash or other stability issues for no apparent reason. (Bug #16834333)

  • A race condition in the time between the reception of a execNODE_FAILREP signal by the QMGR kernel block and its reception by the DBLQH and DBTC kernel blocks could lead to data node crashes during shutdown. (Bug #16834242)

  • The CLUSTERLOG command (see Commands in the NDB Cluster Management Client) caused ndb_mgm to crash on Solaris SPARC systems. (Bug #16834030)

  • On Solaris SPARC platforms, batched key access execution of some joins could fail due to invalid memory access. (Bug #16818575)

  • When 2 NDB tables had foreign key references to each other, it was necessary to drop the tables in the same order in which they were created. (Bug #16817928)

  • The duplicate weedout algorithm introduced in MySQL 5.6 evaluates semijoins such as subqueries using IN) by first performing a normal join between the outer and inner table which may create duplicates of rows form the outer (and inner) table and then removing any duplicate result rows from the outer table by comparing their primary key values. Problems could arise when NDB copied VARCHAR values using their maximum length, resulting in a binary key image which contained garbage past the actual lengths of the VARCHAR values, which meant that multiple instances of the same key were not binary-identical as assumed by the MySQL server.

    To fix this problem, NDB now zero-pads such values to the maximum length of the column so that copies of the same key are treated as identical by the weedout process. (Bug #16744050)

  • DROP DATABASE failed to work correctly when executed against a database containing NDB tables joined by foreign key constraints (and all such tables being contained within this database), leaving these tables in place while dropping the remaining tables in the database and reporting failure. (Bug #16692652, Bug #69008)

  • When using firstmatch=on with the optimizer_switch system variable, pushed joins could return too many rows. (Bug #16664035)

  • A variable used by the batched key access implementation was not initialized by NDB as expected. This could cause a batch full condition to be reported after only a single row had been batched, effectively disabling batching altogether and leading to an excessive number of round trips between mysqld and NDB. (Bug #16485658)

  • When started with --initial and an invalid --config-file (-f) option, ndb_mgmd removed the old configuration cache before verifying the configuration file. Now in such cases, ndb_mgmd first checks for the file, and continues with removing the configuration cache only if the configuration file is found and is valid. (Bug #16299289)

  • Creating more than 32 hash maps caused data nodes to fail. Usually new hashmaps are created only when performing reorganzation after data nodes have been added or when explicit partitioning is used, such as when creating a table with the MAX_ROWS option, or using PARTITION BY KEY() PARTITIONS n. (Bug #14710311)

  • Setting foreign_key_checks = 0 had no effect on the handling of NDB tables. Now, doing so causes such checks of foreign key constraints to be suspended—that is, has the same effect on NDB tables as it has on InnoDB tables. (Bug #14095855, Bug #16286309)

    References: See also: Bug #16286164.