Zookeeper不会清除已删除的节点

时间:2013-04-08 14:05:54

标签: java out-of-memory apache-zookeeper

我做了一些测试,似乎动物园管理员没有清理最后一次 500个已删除的节点。

在我的测试中,我创建了节点并在创建后删除了每个节点。一世 重复此步骤1000次,然后触发一个完整的gc。这些是 结果

Creating 1000 Nodes and deleting 1000 Nodes and each node has...
 ...1000kb data = 529MB heap used after FullGC
 ...500kb  data = 281MB heap used after FullGC
 ...256kb  data = 140MB heap used after FullGC
 ...128kb  data =  68MB heap used after FullGC

如果我用每1000kb数据创建1000个节点,然后删除 节点和之后创建1000个节点与128kb数据并删除 再次使用节点,使用68MB堆空间。

所以似乎Zookeeper缓存/不清理最后500个已删除的节点。

这是一个错误还是有配置参数来改变这种行为?

1 个答案:

答案 0 :(得分:0)

ZKDatabase.committedLog保留了过去500笔交易。这就是行为的原因。此设置无法配置,但有open issue