The LZO specification says that we should write the uncompressed bytes rather than the compressed bytes if the compressed buffer is actually larger than the uncompresesd buffer. To conform to the standard, this means we have to write the uncompressed bytes also when they have exactly the same size as the compressed bytes.
…sh for github-generated tarballs
The workingMemory buffer was being allocated anew for every time a compressor was pulled out of the codec pool, causing a slow leak. This patch uses undocumented APIs to proactively free memory when new buffers need to be allocated
…ty lzo file comes. Signed-off-by: Todd Lipcon <email@example.com>
…arily, but you no longer have to manually compile-native Thanks to Lars Francke for suggesting this cleanup.
…zing compressors This hopefully addresses a heap growth issue seen with HBase under heavy write load where the virtual memory space of the java process grows very very large compared to the actual Java heap. This issue is new as of CDH3b3 which introduced the reinit() method here.
…tion is specified second time around This fixes an issue seen in CDH3b3. Thanks to Schubert Zhang for reporting.