You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org> on 2012/04/26 07:37:34 UTC

[jira] [Assigned] (HBASE-5881) BuiltIn Gzip compressor & decompressor not getting pooled, leading to native memory leak

     [ https://issues.apache.org/jira/browse/HBASE-5881?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ramkrishna.s.vasudevan reassigned HBASE-5881:
---------------------------------------------

    Assignee: ramkrishna.s.vasudevan
    
> BuiltIn Gzip compressor & decompressor not getting pooled, leading to native memory leak
> ----------------------------------------------------------------------------------------
>
>                 Key: HBASE-5881
>                 URL: https://issues.apache.org/jira/browse/HBASE-5881
>             Project: HBase
>          Issue Type: Bug
>          Components: io
>    Affects Versions: 0.92.1
>            Reporter: Gopinathan A
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Critical
>             Fix For: 0.92.2, 0.94.0, 0.96.0
>
>
> This issue will occur only in hadoop 23.x & above/
> In hadoop 0.20.x
> {code}
> public static void returnDecompressor(Decompressor decompressor) {
>     if (decompressor == null) {
>       return;
>     }
>     decompressor.reset();
>     payback(decompressorPool, decompressor);
>   }
> {code}
> In hadoop 0.23.x
> {code}
>   public static void returnDecompressor(Decompressor decompressor) {
>     if (decompressor == null) {
>       return;
>     }
>     // if the decompressor can't be reused, don't pool it.
>     if (decompressor.getClass().isAnnotationPresent(DoNotPool.class)) {
>       return;
>     }
>     decompressor.reset();
>     payback(decompressorPool, decompressor);
>   }
> {code}
> Here annotation has been added. By default this library will be loaded if there are no native library.
> {code}
> @DoNotPool
> public class BuiltInGzipDecompressor
> {code}
> Due to this each time new compressor/decompressor will be loaded, this leads to native memory leak.
> {noformat}
> 2012-04-25 22:11:48,093 INFO org.apache.hadoop.io.compress.CodecPool: Got brand-new decompressor [.gz]
> 2012-04-25 22:11:48,093 INFO org.apache.hadoop.io.compress.CodecPool: Got brand-new decompressor [.gz]
> 2012-04-25 22:11:48,093 INFO org.apache.hadoop.io.compress.CodecPool: Got brand-new decompressor [.gz]
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira