Yu Li created HBASE-7145: ---------------------------- Summary: ReusableStreamGzipCodec NPE upon reset with IBM JDK Key: HBASE-7145 URL: https://issues.apache.org/jira/browse/HBASE-7145 Project: HBase Issue Type: Bug Affects Versions: 0.94.0 Reporter: Yu Li
This is the same issue as described in HADOOP-8419, repeat the issue description here: The ReusableStreamGzipCodec will NPE upon reset after finish when the native zlib codec is not loaded. When the native zlib is loaded the codec creates a CompressorOutputStream that doesn't have the problem, otherwise, the ReusableStreamGzipCodec uses GZIPOutputStream which is extended to provide the resetState method. Since IBM JDK 6 SR9 FP2 including the current JDK 6 SR10, GZIPOutputStream#finish will release the underlying deflater(calls the deflater's end method), which causes NPE upon reset. This seems to be an IBM JDK quirk as Sun JDK and OpenJDK doesn't have this issue. Since in HBASE-5387 HBase source has refactor its code not to use hadoop's GzipCodec during real compress/decompress, it's necessary to make a separate patch for HBase on the same issue -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira