[
https://issues.apache.org/jira/browse/HBASE-14804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15073482#comment-15073482
]
Ted Yu commented on HBASE-14804:
--------------------------------
The shell test failure in 0.98 seems to be caused by this.
{code}
test_create_should_be_able_to_set_table_options(Hbase::AdminMethodsTest):
NameError: uninitialized constant Hbase::Admin::NORMALIZATION_ENABLED
org/jruby/RubyModule.java:2647:in `const_missing'
file:/home/jenkins/.m2/repository/org/jruby/jruby-complete/1.6.8/jruby-complete-1.6.8.jar!/META-INF/jruby.home/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2503:in
`const_missing'
/home/jenkins/jenkins-slave/workspace/HBase-0.98-on-Hadoop-1.1/hbase-shell/src/main/ruby/hbase/admin.rb:212:in
`parse_htd_args'
/home/jenkins/jenkins-slave/workspace/HBase-0.98-on-Hadoop-1.1/hbase-shell/src/main/ruby/hbase/admin.rb:297:in
`create'
org/jruby/RubyArray.java:1620:in `each'
/home/jenkins/jenkins-slave/workspace/HBase-0.98-on-Hadoop-1.1/hbase-shell/src/main/ruby/hbase/admin.rb:230:in
`create'
./src/test/ruby/hbase/admin_test.rb:180:in
`test_create_should_be_able_to_set_table_options'
org/jruby/RubyProc.java:270:in `call'
org/jruby/RubyKernel.java:2105:in `send'
org/jruby/RubyArray.java:1620:in `each'
org/jruby/RubyArray.java:1620:in `each'
{code}
NORMALIZATION_ENABLED is not defined in HTableDescriptor.java in 0.98
> HBase shell's create table command ignores 'NORMALIZATION_ENABLED' attribute
> ----------------------------------------------------------------------------
>
> Key: HBASE-14804
> URL: https://issues.apache.org/jira/browse/HBASE-14804
> Project: HBase
> Issue Type: Bug
> Components: shell
> Affects Versions: 1.2.0, 1.1.2
> Reporter: Romil Choksi
> Assignee: Jean-Marc Spaggiari
> Priority: Minor
> Labels: beginner
> Fix For: 2.0.0, 1.2.0, 1.3.0, 0.98.17
>
> Attachments: HBASE-14804.v0-trunk.patch, HBASE-14804.v1-trunk.patch
>
>
> I am trying to create a new table and set the NORMALIZATION_ENABLED as true,
> but seems like the argument NORMALIZATION_ENABLED is being ignored. And the
> attribute NORMALIZATION_ENABLED is not displayed on doing a desc command on
> that table
> {code}
> hbase(main):020:0> create 'test-table-4', 'cf', {NORMALIZATION_ENABLED =>
> 'true'}
> An argument ignored (unknown or overridden): NORMALIZATION_ENABLED
> 0 row(s) in 4.2670 seconds
> => Hbase::Table - test-table-4
> hbase(main):021:0> desc 'test-table-4'
> Table test-table-4 is ENABLED
>
>
> test-table-4
>
>
> COLUMN FAMILIES DESCRIPTION
>
>
> {NAME => 'cf', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false',
> KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL =>
> 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOC
> KCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
>
>
> 1 row(s) in 0.0430 seconds
> {code}
> However, on doing an alter command on that table we can set the
> NORMALIZATION_ENABLED attribute for that table
> {code}
> hbase(main):022:0> alter 'test-table-4', {NORMALIZATION_ENABLED => 'true'}
> Unknown argument ignored: NORMALIZATION_ENABLED
> Updating all regions with the new schema...
> 1/1 regions updated.
> Done.
> 0 row(s) in 2.3640 seconds
> hbase(main):023:0> desc 'test-table-4'
> Table test-table-4 is ENABLED
>
>
> test-table-4, {TABLE_ATTRIBUTES => {NORMALIZATION_ENABLED => 'true'}
>
>
> COLUMN FAMILIES DESCRIPTION
>
>
> {NAME => 'cf', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false',
> KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL =>
> 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOC
> KCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
>
>
> 1 row(s) in 0.0190 seconds
> {code}
> I think it would be better to have a single step process to enable
> normalization while creating the table itself, rather than a two step process
> to alter the table later on to enable normalization
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)