删除space,执行COMPACT后,也不会释放磁盘空间。

nebula 版本:v2.6.1
部署方式:分布式
硬件信息
磁盘:SSD
CPU、内存信息:16核、64g

删除了space,在别的space执行完COMPACT操作显示完成后,之前删除space的数据也还没有删除。服务重启也不没用。从2.0.0版本升级到现在的2.6.1都一直是手动删除,现在准备上线生产,要把这个问题解决掉,请问是什么原因导致数据释放不了呢?

Orz 还是得手动删除,不过线上的话我问下研发同学。

Orz 是啥意思?

Orz是个磕头的小人表情

你的问题可以参考下面这两个:

2 个赞

Orz,这两篇我看了,现在也是这么操作的。就是现在还不能自动删除喽?那最好在文档里加下说明,文档里一直说可以,我还研究了好半天以为是自己操作有问题。。

文中也是有手动删除的方法的,具体为什么不能删除,应该是出现了什么问题。
或许你给出一个稳定复现过程的话,我们可以确认下为什么。

手动删除我这边是没问题的,就是删除space后要等一会再删除磁盘文件,立刻删除的话服务会崩掉。
至于执行COMPACT自动删除,我这边就是完全按照文档的操作进行的:
1.drop space A
2.use space B(B为一个没有数据但结构与A相同的图空间)
3.再执行 SUBMIT JOB COMPACT
COMPACT执行显示finsh后查看磁盘文件还是没有删除,之后多次执行COMPACT也还是不行。
值得注意的是在 B 执行COMPACT时基本是瞬间finsh,我理解是因为B没有数据所以COMPACT时间时间很短,但是他finsh的时间比我手动执行rm -rf 删除文件用时还短,所以我不知道COMPACT瞬间finsh是不是有点问题。
还有一点我的nebula用户都是root,我操作也都是用root用户,我看文档里也都是sudo安装,不知道删不掉和用户是root有没有关系。

不好意思,之前了解不多,咨询了下需要开启这个选项:auto_remove_invalid_space
(auto_remove_invalid_space, false, “whether remove data of invalid space when restart”);
可以尝试在storage的配置文件里增加–auto_remove_invalid_space=true来开启。

1 个赞

额…早几天回复就好了,我已经自己写了个sh脚本来删磁盘文件了。建议把这个配置补充道文档里,这样别的人就不会有相同的疑问了。

嗯,不好意思没及时给到你,我会转给文档的同学的。

1 个赞

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。