You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mb...@apache.org on 2012/07/12 02:09:22 UTC
svn commit: r1360484 - in /hbase/branches/0.89-fb:
lib/native/Linux-amd64-64/ src/main/java/org/apache/hadoop/hbase/
src/main/java/org/apache/hadoop/hbase/io/hfile/
Author: mbautin
Date: Thu Jul 12 00:09:21 2012
New Revision: 1360484
URL: http://svn.apache.org/viewvc?rev=1360484&view=rev
Log:
[HBASE-3691] Snappy Hadoop integration
Summary: add Snappy compression algorithm to HBase
Reviewers: mbautin, pkhemani
Reviewed By: mbautin
Added:
hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.a
hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.la
hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.lai
hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so (with props)
hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so.0 (with props)
hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so.0.0.1 (with props)
hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.a
hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.la (with props)
hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so (with props)
hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so.1 (with props)
hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so.1.1.3 (with props)
Modified:
hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java
hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/io/hfile/Compression.java
Added: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.a
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.a?rev=1360484&view=auto
==============================================================================
Files hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.a (added) and hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.a Thu Jul 12 00:09:21 2012 differ
Added: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.la
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.la?rev=1360484&view=auto
==============================================================================
--- hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.la (added)
+++ hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.la Thu Jul 12 00:09:21 2012
@@ -0,0 +1,35 @@
+# libhadoopsnappy.la - a libtool library file
+# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06)
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='libhadoopsnappy.so.0'
+
+# Names of this library.
+library_names='libhadoopsnappy.so.0.0.1 libhadoopsnappy.so.0 libhadoopsnappy.so'
+
+# The name of the static archive.
+old_library='libhadoopsnappy.a'
+
+# Libraries that this one depends upon.
+dependency_libs=' -L/usr/local/jdk-6u14-64/jre/lib/amd64/server -L/data/users/feifei/titan-git-svn/VENDOR/hadoop-0.20/src/native/lib/snappy/lib -ljvm -ldl'
+
+# Version information for libhadoopsnappy.
+current=0
+age=0
+revision=1
+
+# Is this an already installed library?
+installed=no
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='/usr/local/lib'
Added: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.lai
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.lai?rev=1360484&view=auto
==============================================================================
--- hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.lai (added)
+++ hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.lai Thu Jul 12 00:09:21 2012
@@ -0,0 +1,35 @@
+# libhadoopsnappy.la - a libtool library file
+# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06)
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='libhadoopsnappy.so.0'
+
+# Names of this library.
+library_names='libhadoopsnappy.so.0.0.1 libhadoopsnappy.so.0 libhadoopsnappy.so'
+
+# The name of the static archive.
+old_library='libhadoopsnappy.a'
+
+# Libraries that this one depends upon.
+dependency_libs=' -L/usr/local/jdk-6u14-64/jre/lib/amd64/server -L/data/users/feifei/titan-git-svn/VENDOR/hadoop-0.20/src/native/lib/snappy/lib -ljvm -ldl'
+
+# Version information for libhadoopsnappy.
+current=0
+age=0
+revision=1
+
+# Is this an already installed library?
+installed=yes
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='/usr/local/lib'
Added: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so?rev=1360484&view=auto
==============================================================================
Files hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so (added) and hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so Thu Jul 12 00:09:21 2012 differ
Propchange: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so
------------------------------------------------------------------------------
svn:executable = *
Added: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so.0
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so.0?rev=1360484&view=auto
==============================================================================
Files hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so.0 (added) and hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so.0 Thu Jul 12 00:09:21 2012 differ
Propchange: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so.0
------------------------------------------------------------------------------
svn:executable = *
Added: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so.0.0.1
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so.0.0.1?rev=1360484&view=auto
==============================================================================
Files hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so.0.0.1 (added) and hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so.0.0.1 Thu Jul 12 00:09:21 2012 differ
Propchange: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libhadoopsnappy.so.0.0.1
------------------------------------------------------------------------------
svn:executable = *
Added: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.a
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.a?rev=1360484&view=auto
==============================================================================
Files hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.a (added) and hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.a Thu Jul 12 00:09:21 2012 differ
Added: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.la
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.la?rev=1360484&view=auto
==============================================================================
--- hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.la (added)
+++ hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.la Thu Jul 12 00:09:21 2012
@@ -0,0 +1,41 @@
+# libsnappy.la - a libtool library file
+# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='libsnappy.so.1'
+
+# Names of this library.
+library_names='libsnappy.so.1.1.3 libsnappy.so.1 libsnappy.so'
+
+# The name of the static archive.
+old_library='libsnappy.a'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags=''
+
+# Libraries that this one depends upon.
+dependency_libs=''
+
+# Names of additional weak libraries provided by this library
+weak_library_names=''
+
+# Version information for libsnappy.
+current=2
+age=1
+revision=3
+
+# Is this an already installed library?
+installed=yes
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='/usr/local/lib'
Propchange: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.la
------------------------------------------------------------------------------
svn:executable = *
Added: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so?rev=1360484&view=auto
==============================================================================
Files hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so (added) and hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so Thu Jul 12 00:09:21 2012 differ
Propchange: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so
------------------------------------------------------------------------------
svn:executable = *
Added: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so.1
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so.1?rev=1360484&view=auto
==============================================================================
Files hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so.1 (added) and hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so.1 Thu Jul 12 00:09:21 2012 differ
Propchange: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so.1
------------------------------------------------------------------------------
svn:executable = *
Added: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so.1.1.3
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so.1.1.3?rev=1360484&view=auto
==============================================================================
Files hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so.1.1.3 (added) and hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so.1.1.3 Thu Jul 12 00:09:21 2012 differ
Propchange: hbase/branches/0.89-fb/lib/native/Linux-amd64-64/libsnappy.so.1.1.3
------------------------------------------------------------------------------
svn:executable = *
Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java?rev=1360484&r1=1360483&r2=1360484&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java Thu Jul 12 00:09:21 2012
@@ -525,12 +525,7 @@ public class HColumnDescriptor implement
* @return this (for chained invocation)
*/
public HColumnDescriptor setCompressionType(Compression.Algorithm type) {
- String compressionType;
- switch (type) {
- case LZO: compressionType = "LZO"; break;
- case GZ: compressionType = "GZ"; break;
- default: compressionType = "NONE"; break;
- }
+ String compressionType = type.getName().toUpperCase();
return setValue(COMPRESSION, compressionType);
}
Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/io/hfile/Compression.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/io/hfile/Compression.java?rev=1360484&r1=1360483&r2=1360484&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/io/hfile/Compression.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/io/hfile/Compression.java Thu Jul 12 00:09:21 2012
@@ -34,6 +34,7 @@ import org.apache.hadoop.io.compress.Com
import org.apache.hadoop.io.compress.Compressor;
import org.apache.hadoop.io.compress.Decompressor;
import org.apache.hadoop.io.compress.GzipCodec;
+import org.apache.hadoop.io.compress.SnappyCodec;
import org.apache.hadoop.io.compress.DefaultCodec;
import org.apache.hadoop.util.ReflectionUtils;
@@ -74,7 +75,7 @@ public final class Compression {
* Compression algorithms.
*/
public static enum Algorithm {
- LZO("lzo") {
+ LZO("lzo") {
// Use base type to avoid compile-time dependencies.
private transient CompressionCodec lzoCodec;
@@ -106,7 +107,17 @@ public final class Compression {
return codec;
}
},
-
+ SNAPPY("snappy") {
+ private transient CompressionCodec snappyCodec;
+ @Override
+ CompressionCodec getCodec(Configuration conf) {
+ if (snappyCodec == null) {
+ snappyCodec = new SnappyCodec();
+ ((Configurable) snappyCodec).setConf(new Configuration(conf));
+ }
+ return (CompressionCodec) snappyCodec;
+ }
+ },
NONE("none") {
@Override
DefaultCodec getCodec(Configuration conf) {