10bet网址
MySQL NDB集群7.6版本说明
下载这些版本说明
PDF (Ltr)- 0.8 mb
PDF (A4)- 0.8 mb
HTML下载(TGZ)- 169.1 kb
HTML下载(邮政编码)- 225.8 kb


MySQL NDB集群7.6版本说明/ MySQL NDB集群7.6.6 (5.7.22- db-7.6.6)(2018-05-31,通用可用性)

MySQL NDB集群7.6.6 (5.7.22- db-7.6.6)(2018-05-31,通用可用性)

MySQL NDB Cluster 7.6.6是NDB 7.6的一个新版本,基于MySQL Server 5.7,包含了该版本7.6的特性NDB存储引擎,以及修复在以前的NDB集群版本中最近发现的错误。

获取NDB集群7.6。NDB Cluster 7.6的源代码和二进制文件可以从10bet博彩公司

有关NDB Cluster 7.6中所做更改的概述,请参见NDB集群7.6有什么新功能

该版本还包含了之前NDB集群版本中所有的bug修复和更改,以及从MySQL 5.7到MySQL 5.7.22主线中添加的所有bug修复和特性更改MySQL 5.7.22的更改(2018-04-19,通用可用性)).

增加或更改的功能

  • 在执行NDB备份时ndbinfo.logbuffers表现在显示关于每个数据节点上备份进程的缓冲区使用情况的信息。这实现为另外反映两种新的日志类型的行重做而且DD-UNDO.其中一行具有日志类型备份数据,显示备份时将片段复制到备份文件所使用的数据缓冲区的数量。另一行是日志类型日志备份,它显示备份期间用于记录备份启动后所做更改的日志缓冲区的数量。每一个log_type中显示的行logbuffers表中用于集群中的每个数据节点。只有当NDB备份正在进行时,具有这两种日志类型的行才会出现在表中。(错误# 25822988)

  • 添加了——logbuffer-size选择ndbd而且ndbmtd,用于对大量日志消息进行调试。这控制了数据节点日志缓冲区的大小;默认值(32K)用于正常操作。(Bug #89679, Bug #27550943)

  • 以前的实验性共享内存(SHM)传输器现在在生产中得到支持。SHM的工作原理是通过将信号写入内存(而不是套接字)来传输信号。NDB已经尝试在共享同一主机的数据节点和API节点之间自动使用SHM。要启用显式共享内存连接,请设置UseShm配置参数1用于相关数据节点。在显式地将共享内存定义为连接方法时,还必须用主机名API节点由主机名

    其他调优参数,例如ShmSizeShmSpintime,SendBufferMemory可以用来提高SHM传输器的性能。SHM的配置在其他方面类似于TCP传输器的配置。的参数不再使用,为它所做的任何设置现在都被忽略。NDB集群共享内存连接,提供有关这些参数的更多信息。

    此外,作为这项工作的一部分,NDB与支持遗留SCI传输器相关的代码已经被删除,这是长期以来不支持的。看到www.dolphinics.com浏览有关支持遗留SCI硬件的信息或有关较新的Dolphin Express硬件的信息。

  • SPJ内核块现在在评估一个连接请求时要考虑至少有一些表在内部连接中使用。这意味着SPJ一旦知道前一个请求没有为父行返回任何结果,就可以删除对行或范围的请求。这将保存数据节点和SPJ阻止必须处理从不参与内部连接结果行的请求和结果行。

    请注意

    当从NDB 7.6.5或更早版本升级时,您应该意识到这种优化依赖于API客户端和数据节点功能,因此在所有这些都升级之前是不可用的。

  • 投票接收人NDB用于从套接字读取、从套接字执行消息并唤醒其他线程,现在将其他线程的唤醒操作卸载给一个新线程,该线程应请求唤醒其他线程,否则就直接休眠。这通过防止接收线程因包括唤醒其他线程在内的任务而负担过重,提高了单个集群连接的可伸缩性。

错误修复

  • 重要的变化;NDB客户端程序:ndb_top忽略短形式的命令行选项,并且在所有情况下都没有正确处理格式错误的长选项。作为修复这些问题的一部分,对使用的命令行选项做了以下更改ndb_top使它们与其他NDB集群和MySQL程序使用的更一致:

    (错误# 26907833)

    参考文献:参见Bug #88236, Bug #20733646。

  • NDB集群api:在部分重新启动期间,多个数据节点的故障可能导致API节点故障,以前针对该问题的修复没有正确地检查关联的NdbReceiver对象在继续之前。在这种情况下,无效对象触发对无效信号的处理,而不是节点故障。(错误# 25902137)

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

  • NDB集群api:返回不正确的结果,通常是空的结果集setBound ()用来指定绑定。此问题似乎是由gcc中的一个问题引起的,仅限于使用该方法的旧版本的情况(它不使用NdbRecord),并通过重写旧实现中的有问题的内部逻辑来修复。(Bug #89468, Bug #27461752)

  • NDB集群api:已发布的NDB API对象保存在一个或多个对象中Ndb_free_list用于以后重用的结构。每个列表还跟踪从它中捕获的所有对象,并确保这些对象最终被释放回它。在发生内部功能NdbScanOperation: init ()失败了,就有可能NdbApiSignal已由NdbOperation泄露。在这种情况下,NdbScanOperation:释放()调用以释放由failedNdbScanOperation在它返回到空闲列表之前。

    此修复程序还处理与NdbOperation: init ()在美国,通话失败也可能会泄露信号。(Bug #89249, Bug #27389894)

  • NDB客户端程序:ndb_top不支持许多常见的选项NDB项目。现在支持以下选项:

    此外,ndb_top现在支持一个——套接字选项(简式- s),以指定用于连接的套接字文件。(Bug #86614, Bug #26236298)

  • MySQL NDB ClusterJ:ClusterJ意外退出,因为没有错误处理scanIndex ()的函数ClusterTransactionImpl类内部返回给它的空scanIndex ()的方法ndbTransaction类。(Bug #27297681, Bug #88989)

  • 在某些情况下,当事务在DBTC块中,仍然存在从尚未被引用计数的操作记录到触发器记录的链接,但当这样的操作记录被释放时,触发器引用计数仍然递减。(错误# 27629680)

  • 一个NDB在线备份由模糊数据、重做和撤消日志组成。要恢复到一致的状态,必须确保日志包含从捕获模糊数据部分到一致快照点以上的所有更改。这是通过在完成数据捕获之后等待传递GCI边界来实现的,但是在停止更改日志记录和在备份的元数据中记录停止GCI之前。

    在恢复时,日志被重放到停止GCI,将系统恢复到在一致停止GCI时的状态。当在负载下,有可能选择过早出现的GCI边界并没有跨越捕获的所有数据时,问题就出现了。这可能导致在恢复备份时出现不一致;这些可以作为破坏的约束或损坏的约束被注意到条目。

    现在选择停止GCI是为了使它跨越模糊数据捕获过程的整个持续时间,以便备份日志始终包含给定停止GCI中的所有数据。(错误# 27497461)

    参考文献:参见:Bug #27566346。

  • NDB表中,当作为DDL语句的一部分添加或删除外键时,所有引用的父表的外键元数据都应该在连接到集群的所有SQL节点上的处理程序中重新加载,但这只在mysqld语句在其上被执行。因此,依赖于来自相应父表的外键元数据的任何后续查询都可能返回不一致的结果。(错误# 27439587)

    参考文献:参见Bug #82989, Bug #24666177。

  • 分析表在大的、低基数的表上使用过多的CPU。(错误# 27438963)

  • 使用非常大的列表的查询未正确处理,这可能导致数据节点故障。(错误# 27397802)

    参考文献:参见Bug #28728603。

  • 在某些情况下,数据节点过载可能会导致数据节点计划外关闭,从而导致所有数据节点与管理节点和节点断开连接。

    这是由于一种情况API_FAILREQ不是节点故障前最后接收到的信号。

    作为此修复的一部分,事务协调器的处理SCAN_TABREQ信号的ApiConnectRecord在不正确的状态也得到了改善。(错误# 27381901)

    参考文献:参见Bug #47039, Bug #11755287。

  • 在双机集群中,当具有最低ID的节点使用——nostart, API客户端无法连接,与不能分配节点id在主机端口PORT_NO:没有找到空闲的节点id为mysqld(API).(错误# 27225212)

  • 改变MaxNoOfExecutionThreads没有进行初始系统重新启动,将导致计划外数据节点关闭。(错误# 27169282)

    这个问题是一个Bug #26908347, Bug #26968613的回归。

  • 当其他线程并发地向发送缓冲区插入信号数据时,在传输程序的异步断开和重新连接期间,有时会发生竞态条件,导致集群的计划外关闭。

    作为解决这个问题的工作的一部分,Transporter Registry在准备发送时使用的内部模板函数被重构,以使用可能或不可能的逻辑来加快执行速度,并删除大量重复的NULL检查。(Bug #24444908, Bug #25128512)

    参考文献:参见:Bug #20112700。

  • ndb_restore有时日志数据文件和日志文件进度值远大于100%。(错误# 20989106)

  • 内部函数BitmaskImpl: setRange ()设置比指定的少一位。(Bug #90648, Bug #27931995)

  • 不可能创建一个NDB表的使用PARTITION_BALANCE设置为FOR_RA_BY_LDM_X_2FOR_RA_BY_LDM_X_3,或FOR_RA_BY_LDM_X_4.(Bug #89811, Bug #27602352)

    参考文献:这个问题是:Bug #81759, Bug #23544301的回归。

  • 添加一个(tcp)(shm)节设置为具有多个数据节点的集群的全局配置文件,将导致使用单个节的节点丢失默认TCP连接。(Bug #89627, Bug #27532407)

  • 由于在执行辅助发送时重用了用于发送线程的代码,所有本地发布发送缓冲区都被释放到全局池,这导致本地发送缓冲池的预期级别被忽略。现在,发送线程和帮助工作线程遵循它们自己的策略来维护它们的本地缓冲池。(Bug #89119, Bug #27349118)

  • 当发送优先级A信号时,我们现在确保挂起信号的数量已显式初始化。(Bug #88986, Bug #27294856)

  • 在一个MySQL集群中,配置了一个MySQL服务器写二进制日志,当创建和使用一个NDB表的非存储生成列。只有在产品带有调试支持时才会出现问题。(Bug #86084, Bug #25957586)

  • ndb_restore——打印数据的——十六进制没有打印末尾的0LONGVARBINARY值。(Bug #65560, Bug #14198580)

  • 当内部函数ha_ndbcluster: copy_fk_for_offline_alter ()检查一个表上的依赖对象,它没有对外键执行任何过滤,这使得它有可能尝试检索索引或触发器,导致虚假的错误723 (没有这样的表).