-
NdbScanOperation
错误被异步返回给客户端,可能是在客户端正在进行其他处理时。成功调用NdbTransaction::execute()
仅保证扫描请求已组装并无误地发送至事务协调器;它不等待从数据节点返回任何类型的CONF
或 信号。REF
在这种特殊情况下,预期的TAB_SCANREF
信号被异步返回到客户端空间,可能是在客户端仍在执行其他操作时。我们通过在收到
NdbTransaction
错误时不设置错误代码 来使此行为更具确定性 。TAB_SCANREF
(缺陷号 34348706) 批处理与每个键的多个运行中操作的组合、使用
IgnoreError
和非主副本上发生的瞬态错误在某些情况下会导致内部不一致,DBTUP
从而导致副本未对齐和其他问题。我们现在通过检测非主副本上的操作何时失败,并AbortOnError
在这种情况下强制处理(回滚)包含事务来防止这种情况发生。(缺陷号 34013385)当变化率很高时,事件订阅者确认收到的速度很慢,或者两者兼而有之,
SUMA
块可能会用完缓冲事件的空间。(缺陷号 30467140)-
ALTER TABLE ... COMMENT="NDB_TABLE=READ_BACKUP=1"
或对表ALTER TABLE..COMMENT="NDB_TABLE=READ_BACKUP=0"
执行非复制(在线)ALTER
操作以添加或删除其READ_BACKUP
属性(请参阅 NDB_TABLE 选项),这会增加表上所有索引的索引版本。使用以前的索引版本存储的现有统计数据是孤立的,从未被删除;这导致在收集索引统计信息时浪费内存和低效搜索。我们通过清理索引样本来解决这些问题;我们删除样本版本大于或小于当前样本版本的所有样本。此外,当索引 ID 和版本找不到现有统计信息时,以及索引被删除时。在最后一种情况下,我们放宽了删除操作的范围,并删除了与相关索引 ID 相对应的所有条目,而不是同时删除索引 ID 和索引版本。
此修复清理了存储大量索引统计数据的示例表。由索引元数据而不是实际统计信息组成的头表仍然包含孤立行,但由于它们占用的内存量微不足道,因此它们不会对统计信息搜索效率产生不利影响,并且在索引 ID 和版本更新时清除陈旧条目重用。
另请参阅NDB API 统计计数器和变量。(漏洞#29611297)