Vertica:移动分区时出现移出错误

时间:2014-10-14 09:58:59

标签: vertica

在我的ETL过程中,我有几行:

CODE: SELECT ALL
select move_partitions_to_table ('stg.A', 0, 24, 'tmp_table.A')

错误输出

CODE: SELECT ALL
ERROR: A Moveout operation is already in progress on projection stg.B_all_nodes_b0 [txnid 45035996338570033 session fqdn-25466:0xd053]

简而言之,表A的突出失败是因为目前正在进行表B的突出。在旁注中,错误立即发生,而不是在超时过期后发生。

这有意义吗?我可以理解每个表的一个时差,但是一次只有一个时差对整个集群来说肯定是不正确的?

我确实查看了tm池,计划和最大并发分别为4和6。我将最大并发度升级到20但这没有任何区别。

此错误仅在Vertica 7.1.0-1上发生。我昨天从6.3升级,这是我从升级中获得的唯一问题。

有人会知道如何解决这个降级的问题吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

事实证明,move_partitions_to_table()确实触发了一次搬出。这是很正常的,因为在将分区移动到另一个表之前,Vertica将首先尝试将WOS清空到磁盘。

问题是Vertica 7.1.0-1中存在一个错误,这意味着move_partitions_to_table()会为所有表生成一个时差,而不仅仅是针对相关表。结果是你不能并行运行2个move_partitions_to_table(),即使在2个不相关的表上也是如此。

Vertica支持现在已经意识到这一点,并且很快就会在发布版本中修复。