You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2010/12/07 20:40:25 UTC
svn commit: r1043173 - in /hbase/trunk: CHANGES.txt
src/main/ruby/hbase/admin.rb
Author: stack
Date: Tue Dec 7 19:40:25 2010
New Revision: 1043173
URL: http://svn.apache.org/viewvc?rev=1043173&view=rev
Log:
HBASE-3173 HBase 2984 breaks ability to specify BLOOMFILTER & COMPRESSION via shell AND HBASE-3310 Failing creating/altering table with compression agrument
Modified:
hbase/trunk/CHANGES.txt
hbase/trunk/src/main/ruby/hbase/admin.rb
Modified: hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1043173&r1=1043172&r2=1043173&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Tue Dec 7 19:40:25 2010
@@ -11,6 +11,10 @@ Release 0.91.0 - Unreleased
previously expired RS instances to rejoin cluster
HBASE-3283 NPE in AssignmentManager if processing shutdown of RS who
doesn't have any regions assigned to it
+ HBASE-3173 HBase 2984 breaks ability to specify BLOOMFILTER &
+ COMPRESSION via shell
+ HBASE-3310 Failing creating/altering table with compression agrument from
+ the HBase shell (Igor Ranitovic via Stack)
IMPROVEMENTS
HBASE-2001 Coprocessors: Colocate user code with regions (Mingjie Lai via
Modified: hbase/trunk/src/main/ruby/hbase/admin.rb
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/ruby/hbase/admin.rb?rev=1043173&r1=1043172&r2=1043173&view=diff
==============================================================================
--- hbase/trunk/src/main/ruby/hbase/admin.rb (original)
+++ hbase/trunk/src/main/ruby/hbase/admin.rb Tue Dec 7 19:40:25 2010
@@ -27,6 +27,8 @@ java_import org.apache.hadoop.hbase.HTab
java_import org.apache.hadoop.hbase.HRegionInfo
java_import org.apache.hadoop.hbase.util.Bytes
java_import org.apache.zookeeper.ZooKeeper
+java_import org.apache.hadoop.hbase.io.hfile.Compression
+java_import org.apache.hadoop.hbase.regionserver.StoreFile
# Wrapper for org.apache.hadoop.hbase.client.HBaseAdmin
@@ -352,14 +354,28 @@ module Hbase
family ||= HColumnDescriptor.new(name.to_java_bytes)
family.setBlockCacheEnabled(JBoolean.valueOf(arg[HColumnDescriptor::BLOCKCACHE])) if arg.include?(HColumnDescriptor::BLOCKCACHE)
- family.setBloomFilterType(arg[HColumnDescriptor::BLOOMFILTER]) if arg.include?(HColumnDescriptor::BLOOMFILTER)
family.setScope(JInteger.valueOf(arg[REPLICATION_SCOPE])) if arg.include?(HColumnDescriptor::REPLICATION_SCOPE)
family.setInMemory(JBoolean.valueOf(arg[IN_MEMORY])) if arg.include?(HColumnDescriptor::IN_MEMORY)
family.setTimeToLive(JInteger.valueOf(arg[HColumnDescriptor::TTL])) if arg.include?(HColumnDescriptor::TTL)
family.setCompressionType(arg[HColumnDescriptor::COMPRESSION]) if arg.include?(HColumnDescriptor::COMPRESSION)
family.setBlocksize(JInteger.valueOf(arg[HColumnDescriptor::BLOCKSIZE])) if arg.include?(HColumnDescriptor::BLOCKSIZE)
family.setMaxVersions(JInteger.valueOf(arg[VERSIONS])) if arg.include?(HColumnDescriptor::VERSIONS)
-
+ if arg.include?(HColumnDescriptor::BLOOMFILTER)
+ bloomtype = arg[HColumnDescriptor::BLOOMFILTER].upcase
+ unless StoreFile::BloomType.constants.include?(bloomtype)
+ raise(ArgumentError, "BloomFilter type #{bloomtype} is not supported. Use one of " + StoreFile::BloomType.constants.join(" "))
+ else
+ family.setBloomFilterType(StoreFile::BloomType.valueOf(bloomtype))
+ end
+ end
+ if arg.include?(HColumnDescriptor::COMPRESSION)
+ compression = arg[HColumnDescriptor::COMPRESSION].upcase
+ unless Compression::Algorithm.constants.include?(compression)
+ raise(ArgumentError, "Compression #{compression} is not supported. Use one of " + Compression::Algorithm.constants.join(" "))
+ else
+ family.setCompressionType(Compression::Algorithm.valueOf(compression))
+ end
+ end
return family
end