ndbinfo 信息数据库: 重启后可能会使用(有时不完整的)回退数据来填充
ndbinfo.processes
表,这可能导致此表中的行具有空process_name
值。此类回退数据不再用于此目的。(漏洞#27985339)-
内部缓冲区在释放后立即被重用可能会导致数据节点意外关闭。(漏洞#27622643)
参考资料:另请参阅:Bug #28698831。
-
联机备份由
NDB
模糊数据以及重做和撤消日志组成。要恢复到一致的状态,有必要确保日志包含跨越模糊数据部分捕获和一致快照点的所有更改。这是通过在数据捕获完成后等待通过 GCI 边界来实现的,但在停止更改日志记录和在备份元数据中记录停止 GCI 之前。在恢复时,日志会重播到停止 GCI,将系统恢复到一致停止 GCI 时的状态。当在负载下,可能会选择出现得太早且未跨越所有捕获数据的 GCI 边界时,就会出现问题。这可能会导致恢复备份时出现不一致;这些可能会被视为破坏约束或损坏的
BLOB
条目。现在选择停止 GCI,以便它跨越模糊数据捕获过程的整个持续时间,以便备份日志始终包含给定停止 GCI 内的所有数据。(漏洞#27497461)
参考资料:另请参阅:Bug #27566346。
-
对于
NDB
表,当外键作为 DDL 语句的一部分添加或删除时,所有引用的父表的外键元数据应重新加载到连接到集群的所有 SQL 节点上的处理程序中,但这仅在执行语句的mysqld 。因此,任何依赖于来自相应父表的外键元数据的后续查询都可能返回不一致的结果。(漏洞#27439587)参考资料:另请参阅:Bug #82989、Bug #24666177。
内部函数
BitmaskImpl::setRange()
设置比指定的少一位。(缺陷 #90648,缺陷 #27931995)-
无法 使用set to 、 或 来创建
NDB
表 。(缺陷 #89811,缺陷 #27602352)PARTITION_BALANCE
FOR_RA_BY_LDM_X_2
FOR_RA_BY_LDM_X_3
FOR_RA_BY_LDM_X_4
参考:此问题是 Bug #81759、Bug #23544301 的回归。
当内部函数
ha_ndbcluster::copy_fk_for_offline_alter()
检查应该从中删除外键的表上的依赖对象时,它没有对外键执行任何过滤,这使得它有可能尝试检索索引或触发器,从而导致虚假错误 723(没有这样的表)。在 的执行过程中 ,只要发现请求的表已经存在
CREATE TABLE ... IF NOT EXISTS
,内部open_table()
函数ha_ndbcluster::get_default_num_partitions()
就会隐式调用。open_table()
在某些情况下,get_default_num_partitions()
在没有初始化关联thd_ndb
对象的情况下调用,导致语句失败并出现 MySQL 错误 157 Could not connect to storage engine。现在get_default_num_partitions()
始终检查此thd_ndb
对象是否存在,并在必要时对其进行初始化。