[
https://issues.apache.org/jira/browse/ZOOKEEPER-1473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13892033#comment-13892033
]
Mathias H. commented on ZOOKEEPER-1473:
---------------------------------------
Any chance to get this patch into the next release?
> Committed proposal log retains triple the memory it needs to
> ------------------------------------------------------------
>
> Key: ZOOKEEPER-1473
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1473
> Project: ZooKeeper
> Issue Type: Bug
> Components: server
> Reporter: Henry Robinson
> Assignee: Thawan Kooburat
> Fix For: 3.5.0
>
> Attachments: ZOOKEEPER-1473.patch, ZOOKEEPER-1473.patch
>
>
> ZKDatabase.committedLog retains the past 500 transactions to enable fast
> catch-up. This works great, but it's using triple the memory it needs to by
> retaining three copies of the data part of any transaction.
> * The first is in committedLog[i].request.request.hb - a heap-allocated
> {{ByteBuffer}}.
> * The second is in committedLog[i].request.txn.data - a jute-serialised
> record of the transaction
> * The third is in committedLog[i].packet.data - also jute-serialised,
> seemingly uninitialised data.
> This means that a ZK-server could be using 1G of memory more than it should
> be in the worst case. We should use just one copy of the data, even if we
> really have to refer to it 3 times.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)