重要的变化:的依赖ndb_restore在
NDBT
仅用于内部测试的库已被删除。这意味着程序不再打印NDBT_ProgramExit:…
终止时。应更新依赖此行为的应用程序,以在升级到此版本时反映此更改。对象中执行的push连接时
DBSPJ
块必须在查询执行期间存储相关ID,即使仅在生成结果集中最新的批处理时才需要这些特定相关ID的生命周期,为这些内存分配。后续批次需要存储和分配额外的相关ID;因此,如果查询足够长时间完成,则这导致了查询内存的耗尽(错误20008)。现在在这种情况下,仅在当前结果批处理的使用寿命中分配了内存,并且在完成批处理完成后可用并可用于重新使用。(bug#29336777)参考:参见Bug #26995027。
在某些情况下,一个(有时是多个)数据节点在运行时意外关闭ndb_restore。这是最常见的情况,但并不总是限于恢复到具有不同数量的数据节点的集群时。
这个问题的根本原因是资源池的耗尽
Safecounter.
对象使用的DBDICT.
内核块作为执行架构事务的一部分,并从用于使用协议共享的Per-Block-instance池NDB
事件设置和订阅处理。事件设置和订阅处理的并发性使得Safecounter.
游泳池可以筋疲力尽;事件和订阅处理可以处理池耗尽,但模式事务处理可能不会导致恢复期间经过的节点关闭。通过给予解决这个问题
DBDICT.
架构交易孤立的保留池安全控制器
并发不能耗尽的NDB
活动活动。(错误# 28595915)ndb_restore在使用一个或多个staging表时没有正确地恢复自动增量值。作为这个修复的一部分,我们还在这种情况下块应用
SYSTAB_0
备份日志,其内容继续基于表ID直接应用,它可以覆盖存储在SYSTAB_0
不相关的表。(Bug #27917769, Bug #27831990)参考:参见Bug #27832033。
ndb_restore的多个实例时,使用一种机制来恢复非原子的自动增量值,从而可能产生不正确的自动增量值ndb_restore是平行使用的。(错误# 27832033)
参考:参见:Bug #27917769, Bug #27831990。
当在调试模式下执行重做日志时,数据节点在释放一行时可能会失败。(Bug #93273, Bug #28955797)
一个
NDB
在另一个表上有一个外键NDB
表的使用在删除级联
和一个或多个文本
或者团
列泄漏内存。作为此修复的一部分,
在删除级联
是否不再支持外键NDB
类的任何列时团
或者文本
类型。(Bug #89511, Bug #27484882)