Documentation Home
MySQL NDB Cluster 7.4 发行说明  / 发布系列变更日志:MySQL NDB Cluster 7.4  /  MySQL NDB Cluster 7.3.13 (5.6.29-ndb-7.3.13) 的变化(2016-04-18,全面上市)

MySQL NDB Cluster 7.3.13 (5.6.29-ndb-7.3.13) 的变化(2016-04-18,全面上市)

修正错误

  • NDB Cluster API:NdbIndexOperation使用基于过时的唯一索引 执行事务 现在在这种情况下会检查索引,如果无法使用,则事务会失败并出现相应的错误。(错误#79494,错误#22299443)

  • 在节点故障处理期间,用于驱动清理操作的请求结构在执行请求时未正确维护。这会导致在正常操作期间无害的不一致,但这些可能会导致节点故障处理期间的断言失败,并导致其他节点随后发生故障。(漏洞 #22643129)

  • 在某些情况下,发现先前针对内部 TransporterFacade::deliver_signal()函数缺少互斥锁保护的修复不完整。(漏洞 #22615274)

    参考资料:此问题是 Bug #77225、Bug #21185585 的回归。

  • 当在一个 SQL 节点上将二进制日志设置为原子操作失败时,这可能会在其他 SQL 节点中触发一种状态,在这种状态下,它们似乎检测到参与模式更改分发的 SQL 节点,而它尚未完成二进制日志设置。当 SQL 节点仍在重试二进制日志设置时需要此锁,而另一个 mysqld 已将锁作为模式更改操作的一部分,这又可能导致全局元数据锁出现死锁。在这种情况下,第二个 SQL 节点等待第一个 SQL 节点对其模式分布更改采取行动,但它还不能这样做。(缺陷号 22494024)

  • 当在包含唯一索引的备份上运行ndb_restore 时,可能会发生重复键错误 。这是因为在恢复数据期间,数据库在完成之前可能会经历一个或多个不一致状态,这样的不一致状态可能对具有唯一索引的列具有重复值。(如果数据恢复之前是运行 with --disable-indexes,然后 是运行 with --rebuild-indexes,则可以避免这些错误。)

    添加了对备份中唯一索引的检查,该检查仅在恢复数据时执行,并且不会处理已明确排除的表。对于找到的每个唯一索引,现在都会打印一条警告。(缺陷号 22329365)

  • 使用ndb_restore 恢复元数据-m 有时会失败,并显示错误消息Failed to create index...创建唯一索引时。在诊断这个问题时,发现内部错误 PREPARE_SEIZE_ERROR(临时错误)被报错为未知错误。现在在这种情况下, ndb_restore 会重试创建唯一索引,并且PREPARE_SEIZE_ERROR被报告为 NDB Error 748 Busy during read of event table。(缺陷号 21178339)

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

  • 通过缓冲和定期发送信号来优化信号发送,或者当缓冲区变满时,可能会导致 SUB_GCP_COMPLETE_ACK信号过度延迟。为每个节点和纪元发送此类信号,最小间隔为 TimeBetweenEpochs;如果没有及时收到,SUMA 缓冲区可能会溢出。溢出导致 API 节点断开连接,导致当前事务因节点故障而中止。这种情况使得长事务(例如更改非常大的表)难以完成。现在在这种情况下,ACK 信号会被发送而不会被延迟。(漏洞 #18753341)