MySQL NDB Cluster 7.4.12 是 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.31 在主线 MySQL 5.6 中添加的所有错误修复和功能更改(请参阅MySQL 5.6.31 中的更改(2016-06- 02,全面上市))。
MySQL NDB ClusterJ: 为了让 ClusterJ 更容易处理需要关闭的致命错误, 接口
SessionFactory
了一个新的公共方法getConnectionPoolSessionCounts()。当它为所有池连接返回零时,这意味着所有会话都已关闭,此时可以关闭并重新打开。有关详细信息,请参阅错误处理和重新连接 。(漏洞 #22353594)SessionFactory
SessionFactory
-
不兼容的更改: 当数据节点仅部分连接到 API 节点时,用于下推连接的节点可能会从不同节点上的事务协调器获取其请求,而没有(尚未)连接到 API 节点本身。在这种情况下,
NodeInfo
请求 API 节点的对象不包含有关 API 节点软件版本的有效信息,这导致DBSPJ
块在中止时(错误地)假定 API 节点使用NDB
版本 7.2.4 或更早版本,需要在查询中止期间使用向后兼容模式,该模式发送节点故障错误而不是导致中止的真正错误。现在,每当出现这种情况时,如果软件版本尚不可用,则假定
NDB
API 节点版本大于 7.2.4。(漏洞 #23049170) NDB Cluster API: 删除 Ndb 对象使用了不成比例的大量 CPU。(缺陷号 22986823)
MySQL NDB ClusterJ:当 Clusterj 将对象 的时间值
java.sql.Timestamp
存储到数据库表中带有小数秒的 TIMESTAMP 列时,对象的时间值变得不正确。(漏洞 #23155061)尽管
DUMP
命令的参数是 32 位整数,但ndb_mgmd在处理它们时仅使用了 10 个字节的缓冲区。(漏洞 #23708039)-
在关闭期间,mysqld
NDB Util: Stop
进程有时会在记录 ...后挂起NDB Util: Wakeup
。(漏洞 #23343739)参考资料:另请参阅:Bug #21098142。
在从 MySQL NDB Cluster 7.3 版本在线升级到 NDB 7.4(或更高版本)版本期间,在本地检查点(LCP)期间以及升级这些节点之前,运行较低版本的几个数据节点出现故障,导致额外的节点升级后的故障。这是由于
EMPTY_LCP
作为 LCP-plus-restart 序列的一部分由旧节点启动的协议的挥之不去的元素,并且由于在这些版本中实现了 LCP 优化,NDB 7.4 和更高版本中不再使用它。(漏洞 #23129433)-
在 MySQL NDB Cluster 7.4.8 中引入并由 API 和管理节点用于管理信号的环回传输器的保留发送缓冲区计算不正确。(漏洞 #23093656,漏洞 #22016081)
参考资料:此问题是 Bug #21664515 的回归。
-
在节点重启期间,重新创建用于验证外键引用完整性的内部触发器并不可靠,因为可能并非所有分布式 TC 和 LDM 实例都同意所有触发器标识。为了解决这个问题,在节点重启序列中添加了一个额外的步骤,在此期间通过查询当前主节点来确定触发器标识。(缺陷号 23068914)
参考资料:另请参阅:Bug #23221573。
在强制关闭集群中的 2 个数据节点之一之后
NoOfReplicas=2
,由于仲裁失败,另一个数据节点也关闭了。(漏洞 #23006431)该
ndbinfo.tc_time_track_stats
表使用直方图桶来了解延迟的分布。这些桶的大小也在HISTOGRAM BOUNDARY INFO
数据节点启动期间作为消息报告;此打印输出是多余的,因此已被删除。(缺陷号 22819868)DBTUP
当片段的可变大小页面总计超过 4 GB 时,调试构建中 发生故障。(漏洞 #21313546)-
mysqld在执行时没有干净地关闭
ndb_index_stat
。(缺陷号 21098142)参考资料:另请参阅:Bug #23343739。
-
DBDICT
和GETTABINFOREQ
队列调试增强如下:GETTABINFOREQ
可以通过设置DictTrace
>= 2 来启用 数据节点对信号进程的监视 。添加了
ApiVerbose
配置参数,它为设置为大于或等于 2 的 API 节点启用 NDB API 调试日志记录。添加了显示队列
DUMP
当前状态的代码 1229 。GETTABINFOREQ
(参见转储 1229。)
另请参阅DBDICT 块。(缺陷号 20368450)
参考资料:另请参阅:错误 #20368354。