Documentation Home
MySQL NDB Cluster 7.3 发行说明  /  MySQL NDB Cluster 7.3.15 (5.6.34-ndb-7.3.15) 的变化(2016-10-18,全面上市)

MySQL NDB Cluster 7.3.15 (5.6.34-ndb-7.3.15) 的变化(2016-10-18,全面上市)

MySQL NDB Cluster 7.3.15 是 NDB Cluster 的新版本,基于 MySQL Server 5.6,包括 NDB存储引擎 7.3 版的功能,并修复了以前 NDB Cluster 版本中最近发现的一些错误。

获取 MySQL NDB Cluster 7.3。  可以从https://mysql.net.cn/downloads/cluster/获得 MySQL NDB Cluster 7.3 源代码和二进制文件。

有关 MySQL NDB Cluster 7.3 中所做更改的概述,请参阅 NDB Cluster 7.3 中的新增功能

此版本还合并了以前 NDB Cluster 版本中所做的所有错误修复和更改,以及通过 MySQL 5.6.34 在主线 MySQL 5.6 中添加的所有错误修复和功能更改(请参阅MySQL 5.6.34 中的更改(2016-10- 12、普遍适用))。

添加或更改的功能

  • MySQL NDB ClusterJ: 为了帮助应用程序更好地处理数据库错误, ClusterJDatastoreException该类中添加了许多新功能:

    • 一个新方法 ,从 对象 getCode()返回 。codeNdbError

    • 一个新方法 ,从 对象 getMysqlCode()返回 。mysql_codeNdbError

    • 一个新的子类, ClusterJDatastoreException.Classification使用户能够解码来自的结果 getClassification()。该方法 给出了NDB Error ClassificationsClassification.toString()中列出的错误分类的名称 。

    (漏洞 #22353594)

修正错误

  • NDB Cluster API:Ndb当同时创建和删除对象 时,可能会发生事务 ID 的重用 作为此修复的一部分,NDB API 方法 lock_ndb_objects()unlock_ndb_objects 现在声明为const. (漏洞 #23709232)

  • 删除了一个无效断言,其效果是在主事务中止后释放 API 连接记录时关闭所有级联子扫描。断言是无效的,因为在这种情况下关闭扫描在设计上与主事务异步,这意味着在主事务关闭后子扫描可能需要一些时间才能关闭。(缺陷号 23709284)

  • 在代码库中发现并修复了许多潜在的缓冲区溢出问题NDB。(漏洞 #23152979)

  • 当一个数据节点在系统重启期间没有足够的重做缓冲区时,它不会参与重启,直到其他节点已经启动。在此之后,它从其节点组中已经启动的节点执行其片段的接管;在此期间,集群已经在运行并且可以进行用户活动,包括 DML 和 DDL 操作。

    在系统重启期间,表创建在DIH内核块中的处理方式与正常情况不同,因为这种创建实际上包括从主节点上的磁盘重新加载表定义数据。因此,DIH 假设在所有节点重新启动之前发生的任何表创建都必须与重新启动相关,因此始终在主节点上。但是,在接管期间,由于用户活动,可能会在非主节点上创建表;发生这种情况时,集群会强制关闭。

    现在在系统重启期间进行额外检查以检测在这种情况下执行节点是否是主节点,并使用该信息来确定表创建是适当重启的一部分,还是在后续接管期间发生。(缺陷号 23028418)

  • 当从包含具有外键的表的数据库中恢复备份时,ndb_restore禁用数据的外键,但不禁用日志。(漏洞 #83155,漏洞 #24736950)

  • 代码库中的几个对象构造函数和类似函数在 NDB创建新实例时并不总是执行健全性检查。这些检查现在是在这种情况下进行的。(错误#77408,错误#21286722)

  • malloc()未检查对 的内部调用NULL。函数调用被直接写入所取代。(错误#77375,错误#21271194)