[
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