[ 
https://issues.apache.org/jira/browse/HBASE-16076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15341476#comment-15341476
 ] 

Youngjoon Kim commented on HBASE-16076:
---------------------------------------

This command is executed without any error, but it doesn't set the split policy 
actually.

If I create a table using Java API, the table description is as follow. 
SPLIT_POLICY is in METADATA in TABLE_ATTRIBUTES.
{noformat}
hbase(main):151:0* describe 'test'
Table test is ENABLED
test, {TABLE_ATTRIBUTES => {METADATA => {'SPLIT_POLICY' => 
'org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy'}}          
                                                                                
                                                       COLUMN FAMILIES 
DESCRIPTION
{NAME => 'c', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', 
REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS 
=> '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', 
IN_MEMORY => 'false', BLOCKCACHE => 'true'}
1 row(s) in 0.0210 seconds
{noformat}

But, after running the shell command, the table description is as follow. 
SPLIT_POLICY is not in TABLE_ATTRIBUTES.
{noformat}
hbase(main):142:0> describe 'test'
Table test is ENABLED                                                           
                                                        
test, {CONFIGURATION => {'SPLIT_POLICY' => 
'org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy'}}          
             
COLUMN FAMILIES DESCRIPTION                                                     
                                                        
{NAME => 'cf1', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', 
REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS 
=> '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', 
IN_MEMORY => 'false', BLOCKCACHE => 'true'}  
1 row(s) in 0.0170 seconds
{noformat}

And with a manual split test, I could see the shell command has no effect on 
the split policy. I suspect HBase shell doesn't support split policy 
configuration.

> Cannot configure split policy in HBase shell
> --------------------------------------------
>
>                 Key: HBASE-16076
>                 URL: https://issues.apache.org/jira/browse/HBASE-16076
>             Project: HBase
>          Issue Type: Bug
>          Components: documentation
>    Affects Versions: 2.0.0
>            Reporter: Youngjoon Kim
>            Priority: Minor
>             Fix For: 2.0.0
>
>         Attachments: HBASE-16076.patch
>
>
> The reference guide explains how to configure split policy in HBase 
> shell([link|http://hbase.apache.org/book.html#_custom_split_policies]).
> {noformat}
> Configuring the Split Policy On a Table Using HBase Shell
> hbase> create 'test', {METHOD => 'table_att', CONFIG => {'SPLIT_POLICY' => 
> 'org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy'}},
> {NAME => 'cf1'}
> {noformat}
> But if run that command, shell complains 'An argument ignored (unknown or 
> overridden): CONFIG', and the table description has no split policy.
> {noformat}
> hbase(main):067:0* create 'test', {METHOD => 'table_att', CONFIG => 
> {'SPLIT_POLICY' => 
> 'org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy'}}, {NAME 
> => 'cf1'}
> An argument ignored (unknown or overridden): CONFIG
> Created table test
> Took 1.2180 seconds
> hbase(main):068:0> describe 'test'
> Table test is ENABLED
> test
> COLUMN FAMILIES DESCRIPTION
> {NAME => 'cf1', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', 
> REPLICATION_SCOPE => '0', COMPRESSION => 'NONE', VERSIONS => '1', TTL => 
> 'FOREVER', MIN_VERSIONS => '0', IN_MEMORY_COMPACTION => 'false', 
> KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => '
> false', BLOCKCACHE => 'true'}
> 1 row(s)
> Took 0.0200 seconds
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to