[ 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)