[
https://issues.apache.org/jira/browse/ACCUMULO-4419?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15433006#comment-15433006
]
marco polo commented on ACCUMULO-4419:
--------------------------------------
Yes. As per Hadoop's Codec Pool ( below ), it does not remove un-used
compressors. The implementation provided will trim unused compressors via a
background thread. Further, the option is provided to not use a pool at all by
way of the CompressorFactory. Internally we've used the non pooled method since
CodecPool did not trim the compressors when they weren't being used. In some
cases a large number of sources will increase the memory foot print, so this
was for memory usage; however, the ability to choose a factory was something I
added to accommodate those who wanted to make their own choice.
http://grepcode.com/file/repo1.maven.org/maven2/org.apache.hadoop/hadoop-common/2.6.0/org/apache/hadoop/io/compress/CodecPool.java#CodecPool.payback%28java.util.Map%2Corg.apache.hadoop.io.compress.Decompressor%29
Additionally, I made some options modifiable. Specifically, input/output buffer
sized for the ByteInputStream and ByteOutputStream when a compression stream is
obtained. The PR allows us to have a mechanism by which these options can be
updated. In testing I found significant performance increases by changing the
1K buffer higher. Allowing this to be changed on the fly would be helpful. I
didn't want to confuse the focus of the PR, but I did want to allow the
CompressorFactory implementation and its configuration the ability to be
updated.
> Create Compressor factory allowing Compression settings to be updated
> ---------------------------------------------------------------------
>
> Key: ACCUMULO-4419
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4419
> Project: Accumulo
> Issue Type: Improvement
> Reporter: marco polo
> Assignee: marco polo
> Priority: Minor
> Labels: core
> Fix For: 1.7.3, 1.8.1
>
> Time Spent: 2h 40m
> Remaining Estimate: 0h
>
> This ticket is to account for work done elsewhere in which I've made the
> compression pool configurable such that we either don't use the pool at all
> or use an adjustable pool based on commons-pool
> Other configuration options are now updated through a CompressionUpdate
> mechanism.
> This PR will move us away from CodecPool, but will allow us greater control
> over trimming codecs from the pool itself.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)