You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2008/12/30 01:07:44 UTC
[jira] Commented: (HBASE-1097) SequenceFile.Reader keeps around
buffer whose size is that of largest item read -> results in lots of dead
heap
[ https://issues.apache.org/jira/browse/HBASE-1097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659704#action_12659704 ]
Andrew Purtell commented on HBASE-1097:
---------------------------------------
I'm running with this patch applied now.
> SequenceFile.Reader keeps around buffer whose size is that of largest item read -> results in lots of dead heap
> ---------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-1097
> URL: https://issues.apache.org/jira/browse/HBASE-1097
> Project: Hadoop HBase
> Issue Type: Bug
> Environment: apurtell 25 node TRUNK on hadoop 0.18.1 cluster
> Reporter: stack
> Fix For: 0.19.0
>
> Attachments: mf.patch
>
>
> Andrew is OOMEing again. Looking at some of his heaps, I can count Reader with DataOutputBuffers of ~600MB in a 2G heap. Testing I see that the DataOutputBuffer allocated at head of Mapfile.Reader is reused when we call next, a reset is called. If I trace, the DataOutputBuffer has in it an internal Buffer class which is based on ByteArrayOutputStream. Reset of the DOB eventually goes through to the BAOS reset. This just sets the position. It keeps the buffer sized to whatever it grew to last time this BAOS was used (Figuring this was a little complicated by the fact that DOB does some fancy footwork in a reset override to avoid copies).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.