2013-04-08 2 views
1

몇 가지 검사를했는데, 사육사가 마지막으로 개의 삭제 된 노드를 정리하지 않은 것 같습니다.사육사가 삭제 된 노드를 정리하지 않음

내 테스트에서는 노드를 생성하고 각 노드를 만든 후에 삭제했습니다. I 이 단계를 1000 번 반복 한 다음 전체 gc를 트리거합니다. 내가 68메가바이트 각 1,000킬로바이트 데이터와 1000 개 노드를 만든 다음 128킬로바이트 데이터와 그 생성 1000 개 노드를 노드를 삭제 한 후 다시 노드를 삭제하고있어 경우 이들은 결과

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 

있습니다 힙 공간이 사용됩니다.

그래서 사육사 캐쉬/마지막 500 개의 삭제 된 노드를 정리하지 않습니다.

이 버그가 있거나이 동작을 변경하는 구성 매개 변수가 있습니까?

답변

0

ZKDatabase.committedLog는 지난 500 건의 트랜잭션을 유지합니다. 그래서 그것이 행동의 이유입니다. 이 설정은 구성 할 수 없지만 open issue입니다.