10bet网址
MySQL NDB集群7.4版本说明
下载这些版本说明
PDF (Ltr)- 0.9 mb
PDF (A4)- 0.9 mb


MySQL NDB集群7.4版本说明/版本系列更新日志:MySQL NDB集群7.4/ MySQL NDB集群7.4.11 (5.6.29-ndb-7.4.11)(2016-04-20,通用可用性)

MySQL NDB集群7.4.11 (5.6.29-ndb-7.4.11)(2016-04-20,通用可用性)

增加或更改的功能

错误修复

  • 重要的变化:的最小值BackupDataBufferSizedata节点配置参数已从2 MB降低到512 KB。该参数的默认值和最大值保持不变。(错误# 22749509)

  • OS X:由于一个未初始化的变量,Mac OS X上没有正确处理本地检查点的处理。(Bug #80236, Bug #22647462)

  • 微软的Windows操作系统:使用Visual Studio 2015编译MySQL失败ConfigInfo.cpp,这是由于Visual Studio对空间和连接的处理发生了变化。(Bug #22558836, Bug #80024)

  • 微软的Windows操作系统:设置事件日志记录时ndb_mgmd在Windows上,MySQL NDB集群试图添加一个注册表项HKEY_LOCAL_MACHINE,如果用户没有访问注册表的权限,则会失败。在这种情况下ndb_mgmd记录错误既不能创建也不能打开密钥,这是不准确的,可能会给用户造成困惑,他们可能没有意识到文件日志是可用的并正在使用。在这种情况下,ndb_mgmd记录一个警告无法创建或访问应用程序登录到Windows事件日志所需的注册表项。运行具有足够权限的应用程序一次即可创建密钥,或手动添加密钥,或关闭该应用程序的日志记录。在这种情况下,只有在根本没有可用的输出时才会报告错误(而不是警告)ndb_mgmd事件日志记录。(错误# 20960839)

  • 微软的Windows操作系统:MySQL NDB集群在Microsoft Visual Studio 2015中没有正确编译,这是由于与以前版本的VS实现中的_vsnprintf ()函数。(Bug #80276, Bug #22670525)

  • 微软的Windows操作系统:执行分析表在有一个或多个索引的表上ndbmtd失败;失败InvalidAttrInfo由于信号损坏造成的错误。这个问题一直发生在Windows上,但也可能在其他平台上遇到。(Bug #77716, Bug #21441297)

  • Solaris:ndb_print_file实用程序在针对SPARC的Solaris 9上始终失败。(Bug #80096, Bug #22579581)

  • NDB集群api:对象执行事务NdbIndexOperation基于过时的惟一索引导致数据节点进程失败。现在在这种情况下检查索引,如果不能使用索引,事务就会失败并出现相应的错误。(Bug #79494, Bug #22299443)

  • 在节点故障处理期间,用于驱动清理操作的请求结构在执行请求时没有得到正确维护。这导致了在正常操作期间无害的不一致,但这可能导致在节点故障处理期间的断言失败,并导致后续的其他节点故障。(错误# 22643129)

  • 以前的修复,缺乏互斥锁保护的内部TransporterFacade: deliver_signal ()在某些情况下发现功能不完整。(错误# 22615274)

    这个问题是一个Bug #77225, Bug #21185585的回归。

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

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

    增加了备份中唯一索引的检查,只在恢复数据时执行,不处理已显式排除的表。对于找到的每个惟一索引,现在将打印一个警告。(错误# 22329365)

  • 元数据的恢复ndb_restore- m偶尔出现错误消息失败创建索引失败…当创建唯一索引时。在诊断这个问题时,发现内部错误PREPARE_SEIZE_ERROR(一个临时错误)被报告为未知错误。在这种情况下,ndb_restore重试惟一索引的创建,并且PREPARE_SEIZE_ERROR报告为NDB错误748读取事件表时繁忙.(错误# 21178339)

    参考文献:参见Bug #22989944。

  • NdbDictionary元数据操作有一个硬编码的7天超时,对于检索表定义等短期操作来说,这被证明是过度的。这可能导致用户应用程序出现不必要的挂起,难以正确检测和处理。为了帮助解决这个问题,修改了超时行为,以便只读或短时间的字典交互有2分钟的超时,而可能长时间的模式事务保留现有的7天超时。

    这样的超时旨在作为一个安全网:在出现问题时,这些超时将控制权交还给用户,然后用户可以采取纠正措施。任何可重复的问题NdbDictionary超时应该作为错误报告。(错误# 20368354)

  • 通过缓冲优化信号发送,并定期发送它们,或当缓冲区满时,可能导致SUB_GCP_COMPLETE_ACK信号被过度延迟。这样的信号为每个节点和epoch发送,其最小间隔为TimeBetweenEpochs;如果没有及时收到,则SUMA缓冲区可能因此溢出。溢出导致API节点断开连接,导致当前事务因节点故障而中止。这种情况使得长时间的事务(比如修改一个非常大的表)很难完成。在这种情况下信号发送不延迟。(错误# 18753341)

  • 创建新的连接时,用于验证连接的内部函数未能更新连接计数Ndb对象。这有可能创造一个新的Ndb对象用于验证连接的每个操作,这可能会影响性能,特别是在执行模式操作时。(Bug #80750, Bug #22932982)

  • 当一个SQL节点启动并加入模式分布协议时,另一个已经在等待模式更改被分发的SQL节点会在等待期间超时。这是因为代码错误地假定新的SQL节点也会承认模式分布,即使新节点加入得太晚,无法成为模式分布的参与者。

    作为此修复的一部分,模式分发进程的打印现在总是在位掩码的较重要部分之前打印较不重要的部分;这种打印输出中的位掩码格式也得到了改进。(Bug #80554, Bug #22842538)

  • 设置SchedulerResponsivenessdata节点配置参数(在MySQL NDB Cluster 7.4.9中引入)被忽略。(Bug #80341, Bug #22712481)

  • 在设置CPU自旋时间时,该值在内部不必要地转换为布尔值,以便将其设置为任何非零值产生的有效值为1。这个问题,以及它的修复,都适用于设置SchedulerSpinTimer参数和到设置spintime作为ThreadConfig参数值。(Bug #80237, Bug #22647476)

  • 的逻辑错误如果声明存储/ ndb / src /内核/块/ dbacc / DbaccMain.cpp用来判断是否ZREAD_ERROR应该在比较操作时返回。编译时检测到海湾合作委员会使用-Werror = logical-op.(Bug #80155, Bug #22601798)

    这个问题是Bug #21285604的回归。

  • 构建与-Werror而且-Wextra标志(对于版本构建)在SLES 11上失败。(Bug #79950, Bug #22539531)

  • 当使用创建索引在两个中的任意一个上添加索引NDB表共享循环外键,查询成功,但磁盘上留下了一个临时表,打破了外键约束。当试图在一个位于外键链中间的表上创建索引时,也会发现这个问题——也就是说,一个表有父键和子键,但位于不同的表上。使用时没有出现问题ALTER TABLE执行相同的索引创建操作;随后的分析揭示了这些操作在执行方式上的无意差异创建索引

    为了解决这个问题,我们现在确保由创建索引语句总是在内部以相同的方式处理,并且在执行时处理相同的操作ALTER TABLE指数下降.(Bug #79156, Bug #22173891)

  • NDB未能忽略主键和唯一键上的索引前缀,导致创建表而且ALTER TABLE使用它们来拒绝的语句。(Bug #78441, Bug #21839248)