[
https://issues.apache.org/jira/browse/HADOOP-1581?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
stack updated HADOOP-1581:
--------------------------
Status: Patch Available (was: Open)
Builds and passes all tests locally. Trying on hudson.
> 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.