Documentation Home
MySQL NDB Cluster 7.5 发行说明  /  MySQL NDB Cluster 7.5.19(5.7.31-ndb-7.5.19)的变化(2020-07-14,全面上市)

MySQL NDB Cluster 7.5.19(5.7.31-ndb-7.5.19)的变化(2020-07-14,全面上市)

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

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

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

此版本还合并了以前 NDB Cluster 版本中所做的所有错误修复和更改,以及通过 MySQL 5.7.31 在主线 MySQL 5.7 中添加的所有错误修复和功能更改(请参阅MySQL 5.7.31 中的更改(2020-07- 13,普遍适用)。

修正错误

  • 在节点重启期间 SUMA,正在启动的节点的块必须从已经运行的节点获取订阅(带有订阅者的事件)和订阅者(NdbEventOperation​​正在执行的实例)的副本。在复制完成之前,仍在启动的节点将忽略任何用户级别SUB_STARTSUB_STOP请求;复制完成后,他们可以参与此类请求。当复制操作正在进行时,用户级别SUB_STARTSUB_STOP请求被 DICT锁阻塞。

    发现一个问题,即在请求锁定之后但在授予之前, 起始节点可以参与 SUB_START和请求,从而导致不成功和 请求。此修复可确保节点在 实际授予锁定之前无法参与这些请求。(缺陷号 31302657)SUB_STOPSUB_STARTSUB_STOPDICT

  • 用于跟踪分配的内部对象和决定何时释放它们而生成的统计数据NDB计算不正确,导致资源使用阈值比预期高 50%。此修复程序纠正了该问题,并且应该可以减少内存使用量。(缺陷号 31127237)

  • NDB Cluster 中包含并由自动安装程序使用的 Dojo 工具包已升级到版本 1.15.3。(缺陷号 31029110)

  • ndb_mgmd 返回的打包版本 1 配置文件 在升级到 NDB 8.0 后可能包含重复的条目,这使得该文件与使用版本 1 的客户端不兼容。发生这种情况是因为处理向后兼容性的代码假定每个条目中的条目部分在与默认部分合并时已经排序。为了解决这个问题,我们现在确保在合并之前执行这种排序。(缺陷号 31020183)

  • 在执行任何 SHUTDOWNALL STOPALL RESTART管理命令时,不同的节点可能会尝试在不同的全局检查点索引 (CGI) 边​​界上停止。如果他们成功这样做,那么随后的系统重启会比正常情况下慢,因为任何具有较早停止 GCI 的节点都必须作为该过程的一部分进行接管。当节点在第一个 GCI 边界上失败导致幸存节点不可行时,幸存节点遭受仲裁失败;这具有导致此类节点在正确的 GCI 停止的积极效果,但可能会引起虚假错误或类似错误。

    为避免此类问题,现在在计划关闭期间执行额外的同步,以减少不同数据节点尝试在不同 GCI 关闭的可能性,以及在系统重启期间使用不必要的节点接管。(缺陷号 31008713)

  • DEFINE_BACKUP_REQ 备份中的主节点在收到对信号 的重复回复时意外关闭。这些发生在主节点以外的数据节点在备份期间出错时,备份主 DEFINE_BACKUP_REF节点通过代表丢失的节点向自己发送信号来处理这种情况,这导致从同一节点接收到两个回复(CONF来自关闭之前的问题节点和REF 代表该节点的主节点发出的信号),即使主节点只希望每个节点有一个回复。START_BACKUP_REQSTOP_BACKUP_REQ信号 也遇到过这种情况。

    在这种情况下,当错误是计划外节点关闭的结果时,通过允许重复回复来解决这个问题。(缺陷号 30589827)

  • 一个BLOB值存储 NDB在多个部分中;读取这样的值时,每个部分执行一次读取操作。如果未找到某个部分,则读取失败并显示行未找到错误,这表示已损坏 BLOB,因为 aBLOB不应有任何丢失的部分。可能会出现问题,因为此错误被报告为读取操作的总体结果,这意味着 mysqld 没有看到错误并报告返回了零行。

    通过添加专门针对未找到 blob 部分的情况的检查来解决此问题。现在,当发生这种情况时,用损坏的 blob覆盖行未找到错误 ,这会导致原始语句按预期失败。NDB API 的用户应该知道,尽管有此更改,该 方法仍会继续报告错误,因为在这种情况下找不到行。(缺陷号 28590428)SELECTNdbBlob::getValue()

  • 当使用具有非二进制(区分大小写)相等条件的主键时,节点重新启动期间对片段副本的操作处理不当可能导致强制关闭,或片段副本之间的内容分歧。(缺陷 #98526,缺陷 #30884622)