Documentation Home
MySQL NDB Cluster 7.4 发行说明  /  MySQL NDB Cluster 7.4.23(5.6.43-ndb-7.4.23)的变化(2019-01-22,正式发布)

MySQL NDB Cluster 7.4.23(5.6.43-ndb-7.4.23)的变化(2019-01-22,正式发布)

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

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

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

此版本还合并了以前 NDB Cluster 版本中所做的所有错误修复和更改,以及通过 MySQL 5.6.43 在主线 MySQL 5.6 中添加的所有错误修复和功能更改(请参阅MySQL 5.6.43 中的更改(2019-01- 21,一般可用性))。

修正错误

  • NDB Disk Data: 当一个日志文件组有超过 18 个撤销日志时,无法重新启动集群。(漏洞#251155785)

    参考资料:另请参阅:Bug #28922609。

  • NDB 复制: 当在 master 上写入时——以影响BLOB属于同一主键的列值的多个更改是同一时期的一部分的方式完成——被复制到 slave 时,由于 表中的约束违规而发生错误 1022。(缺陷号 28746560)NDB$BLOB_id_part

  • 当本地检查点 (LCP) 在除一个以外的所有数据节点上完成时,并且该节点失败时,NDB没有继续完成 LCP 所需的步骤。这导致了以下问题:

    无法启动新的 LCP。

    重做和撤消日志未被修剪,因此变得过大,导致从磁盘恢复的时间增加。这导致写入服务失败,最终导致重做日志头部遇到尾部时集群关闭。这限制了集群的正常运行时间。

    节点重启不再可能,因为数据节点重启需要节点的状态在磁盘上持久化,然后才能在加入集群时提供冗余。对于具有两个数据节点和两个分片副本的集群,这意味着需要重新启动整个集群(系统重启)才能解决此问题(对于具有两个分片副本和四个或更多数据节点的集群来说,这不是必需的) . (错误#28728485,错误#28698831)

    参考资料:另请参阅:错误 #11757421。

  • 在某些情况下,节点可能会在初始重启期间挂起。(缺陷号 28698831)

    参考资料:另请参阅:Bug #27622643。

  • 当包含BLOB列的表被删除然后使用不同数量的 BLOB列重新创建时,当未执行相应事件的预期清理时,在涉及通信错误的某些错误情况下,用于监视表更改的事件定义可能会变得不一致。特别是,当新版本的表 BLOB比原来的表有更多的列时,一些事件可能会丢失。(漏洞#27072756)

  • 在非常高的负载下运行具有 4 个或更多数据节点的集群时,数据节点有时会失败并显示错误 899 Rowid already allocated。(缺陷号 25960230)

  • 启动时,数据节点复制元数据,而本地检查点更新元数据。为避免任何冲突,在复制元数据时暂停任何正在进行的 LCP 活动。当本地检查点在给定节点上暂停时出现问题,并且另一个节点也在重新启动检查该节点上的完整 LCP;检查实际上导致 LCP 在元数据复制完成之前完成,因此过早地结束了暂停。现在在这种情况下,LCP 完成检查会等待完成暂停的 LCP,直到元数据复制完成并且暂停按预期结束,在它开始的 LCP 内。(漏洞 #24827685)

  • mysqld与集群 的异步断开导致任何后续启动 NDB API 事务的尝试失败。如果这发生在批量删除操作期间,名为 的 SQL 层 HA::end_bulk_delete(),其实现ha_ndbcluster假定事务已启动,如果不是这种情况,则可能会失败。通过在引用此方法之前检查是否设置了此方法使用的事务指针来解决此问题。(缺陷号 20116393)