You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Hadoop QA (JIRA)" <ji...@apache.org> on 2007/07/14 23:40:04 UTC

[jira] Commented: (HADOOP-1581) HBASE: Un-openable tablename bug

    [ https://issues.apache.org/jira/browse/HADOOP-1581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12512742 ] 

Hadoop QA commented on HADOOP-1581:
-----------------------------------

+1

http://issues.apache.org/jira/secure/attachment/12361839/hadoop-1581-v3.patch applied and successfully tested against trunk revision r556335.

Test results:   http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/414/testReport/
Console output: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/414/console

> HBASE: Un-openable tablename bug
> --------------------------------
>
>                 Key: HADOOP-1581
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1581
>             Project: Hadoop
>          Issue Type: Bug
>          Components: contrib/hbase
>    Affects Versions: 0.14.0
>            Reporter: James Kennedy
>            Priority: Critical
>         Attachments: hadoop-1581-2.patch, hadoop-1581-v3.patch, hadoop-1581.patch
>
>
> If you create a table whose name is the beginning of an already existing table name, you will not be able to open the table.
> Try:
> 1) Create table TESTOne
> 2) Create table TEST
> 3) Open table TEST
> The reason is that the the META keys augment the table name with _[regionID].  So when looking up table TEST, a scanner is opened on the HMemCache Meta region with a start key of "TEST".  But the HMemcacheScanner backingMaps (TreeMaps) are keyed with the augmented table names where TESTOne_[regionid1] comes before TEST_[regionid2] because 'O' is lower than _ in the ASCII table.  The backingMaps[i].tailMap(firstKey).keySet().iterator() line in HMemCache returns an iterator starting from TestOne_... and not Test_... like it should.  
> The "if(!regionInfo.tableDesc.getName().equals(tableName)) {"  line in HClient will cause the method to stop searching for more regions of that table and the number of found tables for tableName will be 0.  Incidentally that IF statement will report "table found" even when that is not the case.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.