MySQL NDB Cluster 7.6.18 是 NDB 7.6 的新版本,它基于 MySQL Server 5.7,包括
NDB
存储引擎 7.6 版中的功能,并修复了最近在以前的 NDB Cluster 版本中发现的错误。
获取 NDB Cluster 7.6。 NDB Cluster 7.6 源代码和二进制文件可以从 https://mysql.net.cn/downloads/cluster/获得。
有关 NDB Cluster 7.6 中所做更改的概述,请参阅 NDB Cluster 7.6 中的新增功能。
此版本还合并了以前 NDB Cluster 版本中所做的所有错误修复和更改,以及通过 MySQL 5.7.34 在主线 MySQL 5.7 中添加的所有错误修复和功能更改(请参阅MySQL 5.7.34 中的更改(2021-04- 20, 一般可用性) )。
ndb_mgmd现在可以正常退出,
SIGTERM
就像在管理客户端SHUTDOWN
命令之后一样。(缺陷号 32446105)在重启期间允许节点在完成恢复之前参与备份,而不是让其等待恢复完成。(缺陷号 32381165)
执行
NDB
备份时磁盘空间不足可能会导致集群意外关闭。(缺陷号 32367250)每个节点的默认分区数(在 ndb_desc输出中 显示
PartitionCount
为配置更改 LDM 线程数,从而更改默认分区数。现在在这种情况下,我们确保在数据节点加入或离开集群时重新计算每个节点的默认分区数。(缺陷号 32183985)-
NDB 7.6 中的本地检查点 (LCP) 机制发生了变化,因此它还可以检测空闲片段——即自上次 LCP 以来未更改的片段,因此不需要磁盘元数据更新。然后 LCP 机制可以立即着手处理下一个片段。当存在大量此类空闲碎片时,仅循环遍历这些碎片所需的 CPU 消耗就变得非常显着,从而导致用户交易出现延迟峰值。
在处理的每个这样的空闲片段之间已经插入了 1 毫秒的延迟。后来的测试表明这个间隔太短了,而且我们通常并不像我们以前认为的那样急于完成这些空闲片段。
如果没有指示迫切需要完成 LCP 的重做警报,此修复会将空闲片段延迟时间延长至 20 毫秒。在低重做警报状态的情况下,我们等待 5 毫秒,而对于更高的警报状态,我们回退到 1 毫秒延迟。(缺陷号 32068551)
参考资料:另请参阅:Bug #31655158、Bug #31613158。
事件缓冲区拥塞可能导致执行二进制日志记录的 SQL 节点意外关闭。我们通过更新二进制日志记录处理程序来解决此问题,以使用
Ndb::pollEvents2()
(而不是弃用的pollEvents()
方法)来正确捕获和处理此类错误。(缺陷号 31926584)与对象计数相关的内部统计数据的生成
NDB
被发现导致交易延迟以每秒非常高的交易率增加,这是由于返回过多数量的已释放NDB
对象引起的。(缺陷号 31790329)当每个 LDM 使用超过 1 个日志部分时,基于重做日志使用情况计算重做警报状态过于激进,因此不正确。