You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2012/06/16 04:57:57 UTC
svn commit: r1350845 - in /hbase/branches/0.94/src:
main/java/org/apache/hadoop/hbase/io/hfile/Compression.java
test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java
Author: apurtell
Date: Sat Jun 16 02:57:57 2012
New Revision: 1350845
URL: http://svn.apache.org/viewvc?rev=1350845&view=rev
Log:
HBASE-5838. Add an LZ4 compression option to HFile
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/io/hfile/Compression.java
hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/io/hfile/Compression.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/io/hfile/Compression.java?rev=1350845&r1=1350844&r2=1350845&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/io/hfile/Compression.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/io/hfile/Compression.java Sat Jun 16 02:57:57 2012
@@ -177,7 +177,26 @@ public final class Compression {
}
return snappyCodec;
}
- };
+ },
+ LZ4("lz4") {
+ // Use base type to avoid compile-time dependencies.
+ private transient CompressionCodec lz4Codec;
+
+ @Override
+ CompressionCodec getCodec(Configuration conf) {
+ if (lz4Codec == null) {
+ try {
+ Class<?> externalCodec =
+ getClassLoaderForCodec().loadClass("org.apache.hadoop.io.compress.Lz4Codec");
+ lz4Codec = (CompressionCodec) ReflectionUtils.newInstance(externalCodec,
+ conf);
+ } catch (ClassNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return lz4Codec;
+ }
+ };
private final Configuration conf;
private final String compressName;
Modified: hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java?rev=1350845&r1=1350844&r2=1350845&view=diff
==============================================================================
--- hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java (original)
+++ hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java Sat Jun 16 02:57:57 2012
@@ -280,12 +280,14 @@ public class TestHFile extends HBaseTest
}
/**
- * Make sure the orginals for our compression libs doesn't change on us.
+ * Make sure the ordinals for our compression algorithms do not change on us.
*/
public void testCompressionOrdinance() {
assertTrue(Compression.Algorithm.LZO.ordinal() == 0);
assertTrue(Compression.Algorithm.GZ.ordinal() == 1);
assertTrue(Compression.Algorithm.NONE.ordinal() == 2);
+ assertTrue(Compression.Algorithm.SNAPPY.ordinal() == 3);
+ assertTrue(Compression.Algorithm.LZ4.ordinal() == 4);
}
public void testComparator() throws IOException {