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

liang xie commented on HBASE-5076:
----------------------------------

After enable hbase-shell debug log, found there's an infinite loop in metaScan 
method for some special tablenames:
{code}
do {
...
          if (rrs == null || rrs.length == 0 || rrs[0].size() == 0) {
            break; //exit completely
          }
...
startRow = callable.getHRegionInfo().getEndKey();
...
} while (Bytes.compareTo(startRow, HConstants.LAST_ROW) != 0);
{code}

Maybe a feasible fix is to filter some system-reserved tablenames in 
HTableDescriptor.isLegalTableName. 
I can try to give a trivial patch if you or other experts agree:)
                
> 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
>            Reporter: Jonathan Hsieh
>            Priority: Minor
>
> 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