[ https://issues.apache.org/jira/browse/HADOOP-3737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12624737#action_12624737 ]
Hudson commented on HADOOP-3737: -------------------------------- Integrated in Hadoop-trunk #581 (See [http://hudson.zones.apache.org/hudson/job/Hadoop-trunk/581/]) > CompressedWritable throws OutOfMemoryError > ------------------------------------------ > > Key: HADOOP-3737 > URL: https://issues.apache.org/jira/browse/HADOOP-3737 > Project: Hadoop Core > Issue Type: Bug > Components: io > Affects Versions: 0.17.0 > Reporter: Grant Glouser > Assignee: Grant Glouser > Fix For: 0.18.0 > > Attachments: HADOOP-3737.patch > > > We were seeing OutOfMemoryErrors with stack traces like the following (Hadoop > 0.17.0): > {noformat} > java.lang.OutOfMemoryError > at java.util.zip.Deflater.init(Native Method) > at java.util.zip.Deflater.<init>(Deflater.java:123) > at java.util.zip.Deflater.<init>(Deflater.java:132) > at > org.apache.hadoop.io.CompressedWritable.write(CompressedWritable.java:71) > at > org.apache.hadoop.io.serializer.WritableSerialization$WritableSerializer.serialize(WritableSerialization.java:90) > at > org.apache.hadoop.io.serializer.WritableSerialization$WritableSerializer.serialize(WritableSerialization.java:77) > at > org.apache.hadoop.io.SequenceFile$Writer.append(SequenceFile.java:1016) > [...] > {noformat} > A Google search found the following long-standing issue in Java in which use > of java.util.zip.Deflater causes an OutOfMemoryError: > [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4797189] > CompressedWritable instantiates a Deflater, but does not call > {{deflater.end()}}. It should do that in order to release the Deflater's > resources immediately, instead of waiting for the object to be finalized. > We applied this change locally and saw much improvement in the stability of > memory usage of our app. > This may also affect the SequenceFile compression types, because > org.apache.hadoop.io.compress.zlib.BuiltInZlib{Deflater,Inflater} extend > java.util.zip.{Deflater,Inflater}. org.apache.hadoop.io.compress.Compressor > defines an end() method, but I do not see that this method is ever called. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.