curator-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cameron McKenzie (JIRA)" <>
Subject [jira] [Resolved] (CURATOR-354) GzipCompressionProvider leaks native memory
Date Thu, 13 Oct 2016 02:27:20 GMT


Cameron McKenzie resolved CURATOR-354.
       Resolution: Fixed
    Fix Version/s: 2.11.1

> GzipCompressionProvider leaks native memory
> -------------------------------------------
>                 Key: CURATOR-354
>                 URL:
>             Project: Apache Curator
>          Issue Type: Bug
>    Affects Versions: 2.11.0
>            Reporter: Evan Pollan
>            Assignee: Jordan Zimmerman
>             Fix For: 3.2.1, 2.11.1
>         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, _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

View raw message