Mariadb Columnstore:版本缓冲区溢出

时间:2017-05-22 15:01:31

标签: mysql mariadb buffer-overflow columnstore infinidb

我正在尝试将新数据添加到columnstore表中,但它会返回此错误:

ERROR 1815 (HY000) at line 25: Internal error: CAL0001: Insert Failed: IDB-2008: The version buffer overflowed. Increase VersionBufferFileSize or limit the rows to be processed.

我已经增加了VersionBufferFileSize值,但问题仍然存在。我甚至无法使用columnstore引擎创建新表。当我尝试跑步时:

create table x(a int) engine=columnstore

我收到此错误:

Internal error: CAL0009: (2)Create table failed due to WE: Error updating calpontsys.systable:BRM block version buffer overflow error.

当我查看数据目录中的versionbuffer.cdf文件(下午4点节点)时,其中一些文件的大小为1G。我想他们在Columnstore.xml文件中达到了1G的限制。即使我在xml文件中将限制增加到5G,versionbuffer.cdf也不会增加。

如何解决这个问题?有没有办法清空versionbuffer文件?

1 个答案:

答案 0 :(得分:0)

您可以尝试停止数据库,重命名版本缓冲区并重新启动它。如果它启动并创建版本缓冲区,则完成。如果没有,请重命名,事情会再次发挥作用。 只需确保在停止系统时没有待处理的事务。

版本缓冲区存储正在进行的事务以允许安全回滚活动。如果没有挂起的转码,重命名缓冲区时应该没有问题。

还要注意,版本缓冲区是按照每个dbroot分配的 - 如果你有多个。

我过去遇到过同样的问题,我认为它有效,但我不是100%肯定。