[ http://issues.apache.org/jira/browse/HADOOP-538?page=comments#action_12447951 ] Owen O'Malley commented on HADOOP-538: --------------------------------------
The ZlibCompressor has dead nativeZlibLoaded code. The ZlibFactory getGzip{Decom,Com}pressor methods should never return null, because their contract should be that they always return a valid implementation regardless of whether the native library was loaded. I see that the problem is that you want to use the native Gzip stream stuff, which doesn't provide a {com,decom}pressor. I guess I'd vote for just using: public CompressionInputStream createInputStream(InputStream in) throws IOException { if (ZlibFactory.isNativeZlibLoaded()) { return new DecompressorStream(...); } else { return new GzipInputStream(in); } } and removing the extra ZlibFactory.getGzip* methods. > Implement a nio's 'direct buffer' based wrapper over zlib to improve > performance of java.util.zip.{De|In}flater as a 'custom codec' > ----------------------------------------------------------------------------------------------------------------------------------- > > Key: HADOOP-538 > URL: http://issues.apache.org/jira/browse/HADOOP-538 > Project: Hadoop > Issue Type: Improvement > Affects Versions: 0.6.1 > Reporter: Arun C Murthy > Assigned To: Arun C Murthy > Fix For: 0.9.0 > > Attachments: HADOOP-538.patch, HADOOP-538_20061005.tgz, > HADOOP-538_20061011.tgz, HADOOP-538_20061026.tgz, HADOOP-538_20061030.tgz, > HADOOP-538_20061107.tgz, HADOOP-538_benchmarks.tgz > > > There has been more than one instance where java.util.zip's {De|In}flater > classes perform unreliably, a simple wrapper over zlib-1.2.3 (latest stable) > using java.nio.ByteBuffer (i.e. direct buffers) should go a long way in > alleviating these woes. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira