From 63f2ebca1371a1f83ac7c2f4b43b8ffb744d6672 Mon Sep 17 00:00:00 2001 From: Enis Soztutar Date: Tue, 8 Dec 2015 11:13:39 -0800 Subject: [PATCH] HBASE-14804 HBase shell's create table command ignores 'NORMALIZATION_ENABLED' attribute (Jean-Marc Spaggiari) --- hbase-shell/src/main/ruby/hbase/admin.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/hbase-shell/src/main/ruby/hbase/admin.rb b/hbase-shell/src/main/ruby/hbase/admin.rb index ac201cd92ca..bd2406536c2 100644 --- a/hbase-shell/src/main/ruby/hbase/admin.rb +++ b/hbase-shell/src/main/ruby/hbase/admin.rb @@ -267,6 +267,12 @@ module Hbase org.apache.hadoop.hbase.zookeeper.ZKUtil::dump(@zk_wrapper) end + #---------------------------------------------------------------------------------------------- + # Parse arguments and update HTableDescriptor accordingly + def parse_htd_args(htd, arg) + htd.setNormalizationEnabled(JBoolean.valueOf(arg.delete(NORMALIZATION_ENABLED))) if arg[NORMALIZATION_ENABLED] + end + #---------------------------------------------------------------------------------------------- # Creates a table def create(table_name, *args) @@ -360,6 +366,7 @@ module Hbase end end htd.setDurability(org.apache.hadoop.hbase.client.Durability.valueOf(arg.delete(DURABILITY))) if arg[DURABILITY] + parse_htd_args(htd, arg) set_user_metadata(htd, arg.delete(METADATA)) if arg[METADATA] set_descriptor_config(htd, arg.delete(CONFIGURATION)) if arg[CONFIGURATION] @@ -613,8 +620,7 @@ module Hbase htd.setMaxFileSize(JLong.valueOf(arg.delete(MAX_FILESIZE))) if arg[MAX_FILESIZE] htd.setReadOnly(JBoolean.valueOf(arg.delete(READONLY))) if arg[READONLY] htd.setCompactionEnabled(JBoolean.valueOf(arg[COMPACTION_ENABLED])) if arg[COMPACTION_ENABLED] - htd.setNormalizationEnabled( - JBoolean.valueOf(arg[NORMALIZATION_ENABLED])) if arg[NORMALIZATION_ENABLED] + parse_htd_args(htd, arg) htd.setMemStoreFlushSize(JLong.valueOf(arg.delete(MEMSTORE_FLUSHSIZE))) if arg[MEMSTORE_FLUSHSIZE] # DEFERRED_LOG_FLUSH is deprecated and was replaced by DURABILITY. To keep backward compatible, it still exists. # However, it has to be set before DURABILITY so that DURABILITY could overwrite if both args are set