Roman Leventov created CURATOR-487:
--------------------------------------
Summary: GzipCompressionProvider produces a lot of finalizable
objects
Key: CURATOR-487
URL: https://issues.apache.org/jira/browse/CURATOR-487
Project: Apache Curator
Issue Type: Improvement
Reporter: Roman Leventov
Assignee: Jordan Zimmerman
GzipCompressionProvider.compress() and decompress() methods are called a lot
inside and outside of the framework and each such call produces a
java.util.zip.Deflater or Inflater object that are finalizable, that is bad for
GC.
Compressing or decompressing a finite byte[] object (in contrast to
compressing/decompressing an InputStream or an OutputStream of unknown length)
is actually a happy case because even PhantomReference object could be avoided,
the native resources could be created and freed in a single try-finally block.
Curator must avoid that. [https://github.com/ymnk/jzlib] is a potential
replacement, for example.
A similar issue could be also fixed in Apache Commons Compress:
https://issues.apache.org/jira/browse/COMPRESS-473 and Curator is made to
depend on Commons Compress.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)