MySQL集群NDB 7.4.9包括严重的回归性能在重启,释放后不久就发现,取而代之的是MySQL集群7.4.10 NDB。建议用户先前的MySQL集群NDB 7.4版本升级到MySQL NDB集群7.4.10或后,通过NDB 7.4.9。
7.4获得MySQL NDB集群。MySQL 7.4 NDB集群可以获得源代码和二进制文件10bet博彩公司 。
概述的更改在MySQL集群NDB 7.4中,看到的新的NDB集群中的7.4是什么。
这个版本还包含了所有的bug修复和更改之前NDB集群版本,以及所有的bug修复和功能变化在主线MySQL通过MySQL 5.6.28(见5.6MySQL 5.6.28变化(2015-12-07,一般可用性))。
重要的变化:在此之前,
NDB
调度器总是为速度优化对吞吐量以预定的方式(这是硬编码);这种平衡现在可以设置使用SchedulerResponsiveness
数据节点配置参数。这个参数接受一个整数的清廉包容,与5作为默认。更高的价值提供更好的响应时间相对于吞吐量。较低的值提供增加吞吐量,但实施更长的响应时间。(错误# 78531,错误# 21889312)NDB复制:通常情况下,
重置的奴隶
导致所有条目被删除的mysql.ndb_apply_status
表。这个版本添加了ndb_clear_apply_status
系统变量,它可以覆盖这一行为。这个变量是在
默认情况下;设置它从
保持重置的奴隶
从清除ndb_apply_status
表。(错误# 12630403)添加了
tc_time_track_stats
表ndbinfo
信息数据库。这个表提供时间跟踪信息有关事务,关键操作和执行扫描操作NDB
。(错误# 78533,错误# 21889652)
重要的变化:修复了MySQL集群NDB 7.3.11和MySQL集群NDB 7.4.8引起ndb_restore执行唯一键检查即使操作模式不恢复数据,如在使用程序的
——restore-epoch
或——打印数据的
选择。改变行为导致现有有效的备份程序失败;阻止这个问题影响将来的版本中,前面的修复已经恢复。这意味着需求添加在那些ndb_restore运行的版本
——disable-indexes
或——rebuild-indexes
当用于表包含独特的索引也取消了。(错误# 22345748)引用:参见:错误# 22329365。恢复补丁:错误# 57782,错误# 11764893。
重要的变化:用户现在可以设置连接超时的数量和长度允许的最多
NDB
项目的——connect-retries
和——connect-retry-delay
介绍了命令行选项在这个版本的项目。为ndb_mgm,——connect-retries
取代现有的——try-reconnect
选择。(错误# 57576,错误# 11764714)NDB磁盘数据:唯一的索引的列
NDB
表有一个关联的内部命令实现索引,用于扫描。删除索引时,这个命令指数下降,其次是唯一索引本身的下降。这意味着,当被拒绝因为违反约束(例如),声明被拒绝但相关联的命令指数仍然删除,这样任何后续操作使用扫描在这个表失败。我们解决这个问题导致唯一索引被删除,删除前下令指数;删除相关的命令指数不再是删除一个唯一索引失败时执行。(错误# 78306,错误# 21777589)NDB复制:二进制日志喷射器线程处理失败事件时,是可能的
NDB
表在只读模式无限期离开。这是由于二进制日志喷射器线程之间的竞争条件和实用程序的线程处理事件ndb_schema表,这一事实,处理故障事件时,二进制日志喷射器线程的地方NDB
在只读模式下表,直到所有此类事件处理和重启线程本身。当二进制日志注入线程接收到一组一个或多个故障事件,它滴所有其他现有的事件操作,预计从实用程序线程,直到没有更多的事件处理的所有失败事件,然后重新启动。然而,它是可能的实用程序线程继续尝试二进制日志设置当喷射器线程处理失败,从而试图创建模式分布表以及事件订阅这些表。如果这些表的创建订阅和事件发生在这段时间里,二进制日志注入器线程的期望,没有进一步的事件操作是从未见过;因此,注入器线程不会重启
NDB
表留在只读如前所述。为了解决这个问题,
Ndb
对象事件处理模式是现在肯定一旦下降ndb_schema
表下降事件处理,该实用程序线程不能创造任何新的事件直到注射器线程启动后,在这段时间,一个新的Ndb
对象创建事件处理模式。(# 19537961,# 17674771,Bug错误# 22204186,错误# 22361695)NDB集群api:二进制日志注射器没有正常工作
TE_INCONSISTENT
事件类型处理Ndb: nextEvent ()
。(错误# 22135541)引用:参见:错误# 20646496。
NDB集群api:
Ndb: pollEvents ()
和pollEvents2 ()
接收事件反应迟缓,被依赖其他客户机执行轮询线程或街区的转运蛋白。此修复允许客户端线程来执行自己的运输机轮询时等在这两种方法。引入运输车民调还显示问题失踪的互斥锁保护
ndbcluster_binlog
处理程序,添加了部分修复。(错误# 79311,错误# 20957068,错误# 22224571)NDB集群api:执行垃圾收集在几个对象的实现
NdbEventOperation
基于gci一直被客户,包括那些已经下降了Ndb: dropEventOperation ()
。在这个实现中,假设是全球检查点指数(GCI)为总是单调递增,尽管这不是在初始启动,当GCI重置。这可能导致NDB API事件对象被释放过早或不,在后一种情况下导致资源泄漏。为了防止这种情况的发生,现在NDB事件对象的实现,在内部,GCI和GCI的生成;一代增加每次重新启动节点的过程,现在这个值是用来提供一个单调递增序列。(错误# 73781,错误# 21809959)
在调试构建,a
WAIT_EVENT
而轮询造成过度日志发送到stdout。(错误# 22203672)当执行一个操作模式等
创建表
与多个SQL MySQL NDB集群节点,它是可能的SQL操作的节点执行超时等待确认。这可能发生在不同的SQL节点有不同的设置——ndb-log-updated-only
,——ndb-log-update-as-write
或其他mysqld选择影响二进制日志NDB
。这是由于这一事实,为了他们之间分发模式变化,所有SQL节点订阅的变化
ndb_schema
系统表,所有SQL节点都知道彼此通过订阅订阅TE_SUBSCRIBE
和TE_UNSUBSCRIBE
事件。事件订阅的名字由表名称,添加REPL美元
或REPLF美元
作为一个前缀。REPLF美元
时使用完整的二进制日志指定表。前面描述的问题是因为不同的值选项提到可能会导致不同的事件被不同的SQL订阅节点,这意味着所有SQL节点互相不一定意识到,这样的代码处理等待模式分布完成不像设计的那样。为了解决这个问题,现在将MySQL NDB集群
ndb_schema
表作为特殊情况和执行完整的二进制日志表,独立于任何设置mysqld二进制日志记录选项。(错误# 22174287,错误# 79188)试图创建一个
NDB
表有大于支持的最大宽度相结合位
列(4096)造成数据节点失败时,这些列定义COLUMN_FORMAT动态
。(错误# 21889267)与maxmimum支持创建表的列数(512)使用
COLUMN_FORMAT动态
导致数据节点的失败。(错误# 21863798)在某些情况下,一个集群失败(错误4009)报道未知错误代码。(错误# 21837074)
超时的
GET_TABINFOREQ
当执行一个创建索引
声明,mysqld返回错误4243 (未找到索引)而不是预期的4008错误(收到NDB失败)。修复这个bug也修复类似的超时问题的其他信号发送
DBDICT
内核块的DDL操作,包括ALTER_TAB_REQ
,CREATE_INDX_REQ
,DROP_FK_REQ
,DROP_INDX_REQ
,INDEX_STAT_REQ
,DROP_FILE_REQ
,CREATE_FILEGROUP_REQ
,DROP_FILEGROUP_REQ
,CREATE_EVENT
,WAIT_GCP_REQ
,DROP_TAB_REQ
,LIST_TABLES_REQ
,以及一些内部函数用于处理NDB
模式操作。(错误# 21277472)引用:参见:错误# 20617891,# 20368354,Bug # 19821115。
使用ndb_mgm
停止- f
甚至迫使一个节点关闭时触发一个完整的集群的关闭,有可能丢失数据足够数量的节点关闭时,触发一个集群shutodwn,时间是这样SUMA
交接了节点已经关闭的过程中。(错误# 17772138)内部
NdbEventBuffer: set_total_buckets ()
方法计算剩余的桶的数量不正确。这造成任何不完整的时代时,提前完成SUB_START_CONF
信号到达的顺序。任何事件属于这个时代到来后被忽视,因此有效地丢失,导致节点之间的SQL模式变化不是正确分布。(错误# 79635,错误# 22363510)编译的MySQL集群NDB失败在SUSE Linux Enterprise Server 12。(错误# 79429,错误# 22292329)
模式事件附加到二进制日志的订单相对于non-schema事件。这是由于这样的事实:二进制日志注射器没有妥善处理情况模式事件和non-schema事件来自不同的时代。
此修复修改事件的处理这两个模式和non-schema事件流处理此类事件现在总是一个时代,从最古老的时代,从事件没有发生的事件流。(错误# 79077,错误# 22135584,错误# 20456664)
当上执行一个
NDB
表,ALTER TABLE……指数下降
改变了内部数组引用索引指数实际上是下降了,之前没有回复这些变化时下降未能完成。这方面的一个影响是,尝试删除索引后,有一个外键依赖,预期的错误指的是错误的指数,随后尝试使用SQL来修改这个表的索引失败了。(错误# 78980,错误# 22104597)NDB
失败在一个节点重启由于目前当地检查站的状态但不设置为活动的,尽管它可能其他国家在这种情况下。(错误# 78780,错误# 21973758)ndbmtd检查信号后发送一个完整的周期
run_job_buffers
输入缓冲区,执行所有工作。这是做的一部分run_job_buffers
本身,避免执行长时间没有发送到其他节点或冲洗信号到其他线程。(错误# 78530,错误# 21889088)的值集
spintime
由ThreadConfig
计算参数不正确,导致自旋的持续时间长于实际指定。(错误# 78525,错误# 21886476)当
NDBFS
完成文件操作,方法用于醒来主线程在Linux / x86平台上有效地工作,但并不是一些其他人,包括OS X,这可能导致不必要的减速在这些平台上。(错误# 78524,错误# 21886157)