ASF GitHub Bot commented on CURATOR-354:

Github user cammckenzie commented on the issue:

    Thanks for the PR!

> GzipCompressionProvider leaks native memory
> -------------------------------------------
>                 Key: CURATOR-354
>                 URL: https://issues.apache.org/jira/browse/CURATOR-354
>             Project: Apache Curator
>          Issue Type: Bug
>    Affects Versions: 2.11.0
>            Reporter: Evan Pollan
>            Assignee: Jordan Zimmerman
>         Attachments: RSS before and after fix.png
> Both compress and decompress instantiate GZIP streams, use them, and don't 
> close them.  The java util deflate/inflate streams use JNI to leverage zlib, 
> including the allocation of a native, off-heap buffer.  
> These JNI buffer handles are released when the containing stream is closed.  
> They're also released by the finalize() method on 
> java.util.zip.Inflater/Deflater, _but_ it looks as if the native memory can 
> pile up quickly enough in certain use cases where the JVM is OOM killed 
> before the finalizer does its thing.
> Fix is to explicitly close these streams after they're used.
> This was discovered in version 2.11.0, but it looks like the problem affects 
> all versions for which {{GzipCompressionProvider}} existed.

This message was sent by Atlassian JIRA

Reply via email to