-
在节点重启期间
SUMA
,正在启动的节点的块必须从已经运行的节点获取订阅(带有订阅者的事件)和订阅者(NdbEventOperation
正在执行的实例)的副本。在复制完成之前,仍在启动的节点将忽略任何用户级别SUB_START
或SUB_STOP
请求;复制完成后,他们可以参与此类请求。当复制操作正在进行时,用户级别SUB_START
和SUB_STOP
请求被DICT
锁阻塞。发现一个问题,即在请求锁定之后但在授予之前, 起始节点可以参与
SUB_START
和请求,从而导致不成功和 请求。此修复可确保节点在 实际授予锁定之前无法参与这些请求。(缺陷号 31302657)SUB_STOP
SUB_START
SUB_STOP
DICT
用于跟踪分配的内部对象和决定何时释放它们而生成的统计数据
NDB
计算不正确,导致资源使用阈值比预期高 50%。此修复程序纠正了该问题,并且应该可以减少内存使用量。(缺陷号 31127237)NDB Cluster 中包含并由自动安装程序使用的 Dojo 工具包已升级到版本 1.15.3。(缺陷号 31029110)
ndb_mgmd 返回的打包版本 1 配置文件 在升级到 NDB 8.0 后可能包含重复的条目,这使得该文件与使用版本 1 的客户端不兼容。发生这种情况是因为处理向后兼容性的代码假定每个条目中的条目部分在与默认部分合并时已经排序。为了解决这个问题,我们现在确保在合并之前执行这种排序。(缺陷号 31020183)
-
在执行任何
SHUTDOWN
、ALL STOP
或ALL RESTART
管理命令时,不同的节点可能会尝试在不同的全局检查点索引 (CGI) 边界上停止。如果他们成功这样做,那么随后的系统重启会比正常情况下慢,因为任何具有较早停止 GCI 的节点都必须作为该过程的一部分进行接管。当节点在第一个 GCI 边界上失败导致幸存节点不可行时,幸存节点遭受仲裁失败;这具有导致此类节点在正确的 GCI 停止的积极效果,但可能会引起虚假错误或类似错误。为避免此类问题,现在在计划关闭期间执行额外的同步,以减少不同数据节点尝试在不同 GCI 关闭的可能性,以及在系统重启期间使用不必要的节点接管。(缺陷号 31008713)
-
DEFINE_BACKUP_REQ
备份中的主节点在收到对信号 的重复回复时意外关闭。这些发生在主节点以外的数据节点在备份期间出错时,备份主DEFINE_BACKUP_REF
节点通过代表丢失的节点向自己发送信号来处理这种情况,这导致从同一节点接收到两个回复(CONF
来自关闭之前的问题节点和REF
代表该节点的主节点发出的信号),即使主节点只希望每个节点有一个回复。START_BACKUP_REQ
和STOP_BACKUP_REQ
信号 也遇到过这种情况。在这种情况下,当错误是计划外节点关闭的结果时,通过允许重复回复来解决这个问题。(缺陷号 30589827)
-
一个
BLOB
值存储NDB
在多个部分中;读取这样的值时,每个部分执行一次读取操作。如果未找到某个部分,则读取失败并显示行未找到错误,这表示已损坏BLOB
,因为 aBLOB
不应有任何丢失的部分。可能会出现问题,因为此错误被报告为读取操作的总体结果,这意味着 mysqld 没有看到错误并报告返回了零行。通过添加专门针对未找到 blob 部分的情况的检查来解决此问题。现在,当发生这种情况时,用损坏的 blob覆盖行未找到错误 ,这会导致原始语句按预期失败。NDB API 的用户应该知道,尽管有此更改,该 方法仍会继续报告错误,因为在这种情况下找不到行。(缺陷号 28590428)
SELECT
NdbBlob::getValue()
当使用具有非二进制(区分大小写)相等条件的主键时,节点重新启动期间对片段副本的操作处理不当可能导致强制关闭,或片段副本之间的内容分歧。(缺陷 #98526,缺陷 #30884622)