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

Jonathan Hsieh commented on HBASE-5076:
---------------------------------------

nice, 

tested and it gave me this:

{code}
hbase(main):003:0> create 'hbase.version', 'foo'

ERROR: java.lang.IllegalArgumentException: hbase.version conflicted with system 
reserved words

Here is some help for this command:
Create table; pass table name, a dictionary of specifications per
column family, and optionally a dictionary of table configuration.
Dictionaries are described below in the GENERAL NOTES section.
Examples:

  hbase> create 't1', {NAME => 'f1', VERSIONS => 5}
  hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
  hbase> # The above in shorthand would be the following:
  hbase> create 't1', 'f1', 'f2', 'f3'
  hbase> create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE 
=> true}
  hbase> create 't1', 'f1', {SPLITS => ['10', '20', '30', '40']}
  hbase> create 't1', 'f1', {SPLITS_FILE => 'splits.txt'}
  hbase> # Optionally pre-split the table into NUMREGIONS, using
  hbase> # SPLITALGO ("HexStringSplit", "UniformSplit" or classname)
  hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}

  You can also keep around a reference to the created table:

  hbase> t1 = create 't1', 'f1'

  Which gives you a reference to the table named 't1', on which you can then
  call methods.


hbase(main):004:0> create 'splitlog', 'foo'

ERROR: java.lang.IllegalArgumentException: splitlog conflicted with system 
reserved words

Here is some help for this command:
Create table; pass table name, a dictionary of specifications per
column family, and optionally a dictionary of table configuration.
Dictionaries are described below in the GENERAL NOTES section.
Examples:

  hbase> create 't1', {NAME => 'f1', VERSIONS => 5}
  hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
  hbase> # The above in shorthand would be the following:
  hbase> create 't1', 'f1', 'f2', 'f3'
  hbase> create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE 
=> true}
  hbase> create 't1', 'f1', {SPLITS => ['10', '20', '30', '40']}
  hbase> create 't1', 'f1', {SPLITS_FILE => 'splits.txt'}
  hbase> # Optionally pre-split the table into NUMREGIONS, using
  hbase> # SPLITALGO ("HexStringSplit", "UniformSplit" or classname)
  hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}

  You can also keep around a reference to the created table:

  hbase> t1 = create 't1', 'f1'

  Which gives you a reference to the table named 't1', on which you can then
  call methods.
{code}
                
> HBase shell hangs when creating some 'illegal' tables.
> ------------------------------------------------------
>
>                 Key: HBASE-5076
>                 URL: https://issues.apache.org/jira/browse/HBASE-5076
>             Project: HBase
>          Issue Type: Bug
>          Components: shell
>    Affects Versions: 0.92.0, 0.96.0, 0.94.1, 0.94.2
>            Reporter: Jonathan Hsieh
>            Assignee: liang xie
>            Priority: Minor
>              Labels: patch
>             Fix For: 0.96.0
>
>         Attachments: HBASE-5076.patch
>
>
> In hbase shell. These commands hang:
> {code}
> create 'hbase.version','foo'
> create 'splitlog','foo'
> {code}
> Interestingly
> {code}
> create 'hbase.id','foo'
> create existingtablename, 'foo'
> create '.META.','foo'
> create '-ROOT-','foo'
> {code}
> are properly rejected.
> We should probably either rename to make the files illegal table names 
> (hbase.version to .hbase.version and splitlog to .splitlog) or we could add 
> more special cases.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to