Support additional compression levels for GzipCodec. Contributed by Ravi Mutyala.
(cherry picked from commit 18f9b77a32
)
This commit is contained in:
parent
b144e0f15d
commit
e38c2ef6c5
|
@ -1098,6 +1098,9 @@ Release 2.7.3 - UNRELEASED
|
|||
HADOOP-12413. AccessControlList should avoid calling getGroupNames in
|
||||
isUserInList with empty groups. (Zhihai Xu via cnauroth)
|
||||
|
||||
HADOOP-12794. Support additional compression levels for GzipCodec.
|
||||
(Ravi Mutyala via junping_du)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
HADOOP-12810. FileSystem#listLocatedStatus causes unnecessary RPC calls
|
||||
|
|
|
@ -68,6 +68,46 @@ public class ZlibCompressor implements Compressor {
|
|||
*/
|
||||
BEST_SPEED (1),
|
||||
|
||||
/**
|
||||
* Compression level 2.
|
||||
*/
|
||||
TWO (2),
|
||||
|
||||
|
||||
/**
|
||||
* Compression level 3.
|
||||
*/
|
||||
THREE (3),
|
||||
|
||||
|
||||
/**
|
||||
* Compression level 4.
|
||||
*/
|
||||
FOUR (4),
|
||||
|
||||
|
||||
/**
|
||||
* Compression level 5.
|
||||
*/
|
||||
FIVE (5),
|
||||
|
||||
|
||||
/**
|
||||
* Compression level 6.
|
||||
*/
|
||||
SIX (6),
|
||||
|
||||
/**
|
||||
* Compression level 7.
|
||||
*/
|
||||
SEVEN (7),
|
||||
|
||||
/**
|
||||
* Compression level 8.
|
||||
*/
|
||||
EIGHT (8),
|
||||
|
||||
|
||||
/**
|
||||
* Compression level for best compression.
|
||||
*/
|
||||
|
|
|
@ -122,6 +122,31 @@ public class TestZlibCompressorDecompressor {
|
|||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZlibCompressorDecompressorWithCompressionLevels() {
|
||||
Configuration conf = new Configuration();
|
||||
conf.set("zlib.compress.level","FOUR");
|
||||
if (ZlibFactory.isNativeZlibLoaded(conf)) {
|
||||
byte[] rawData;
|
||||
int tryNumber = 5;
|
||||
int BYTE_SIZE = 10 * 1024;
|
||||
Compressor zlibCompressor = ZlibFactory.getZlibCompressor(conf);
|
||||
Decompressor zlibDecompressor = ZlibFactory.getZlibDecompressor(conf);
|
||||
rawData = generate(BYTE_SIZE);
|
||||
try {
|
||||
for (int i = 0; i < tryNumber; i++)
|
||||
compressDecompressZlib(rawData, (ZlibCompressor) zlibCompressor,
|
||||
(ZlibDecompressor) zlibDecompressor);
|
||||
zlibCompressor.reinit(conf);
|
||||
} catch (Exception ex) {
|
||||
fail("testZlibCompressorDecompressorWithConfiguration ex error " + ex);
|
||||
}
|
||||
} else {
|
||||
assertTrue("ZlibFactory is using native libs against request",
|
||||
ZlibFactory.isNativeZlibLoaded(conf));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZlibCompressDecompress() {
|
||||
byte[] rawData = null;
|
||||
|
|
Loading…
Reference in New Issue