hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ramkrishna.s.vasudevan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-7307) MetaReader.tableExists should not return false if the specified table regions has been split
Date Sat, 08 Dec 2012 17:17:21 GMT

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

ramkrishna.s.vasudevan commented on HBASE-7307:

I think this is a very good find..
Rajesh, i have a question here..
In your case tableExists() was called before the split had done the DaughterOpener part. 
Which means that the META is going to have only one entry and and daughter entries are yet
to be added, correct...

Nice one.. I think it should be easy to add up a testcase to this..  I think even if we find
a region to be splitParent still add the region to the visitors result.. So that i have a
size > 1.   
> MetaReader.tableExists should not return false if the specified table regions has been
> --------------------------------------------------------------------------------------------
>                 Key: HBASE-7307
>                 URL: https://issues.apache.org/jira/browse/HBASE-7307
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.92.3, 0.96.0, 0.94.4
>            Reporter: rajeshbabu
>            Assignee: rajeshbabu
>             Fix For: 0.92.2, 0.94.3
> If a region is split parent we are not adding it to META scan results during full scan.

> {code}
>         if (!isInsideTable(this.current, tableNameBytes)) return false;
>         if (this.current.isSplitParent()) return true;
>         // Else call super and add this Result to the collection.
>         super.visit(r);
> {code}
> If all regions of a table has been split then result size will be zero and returning
> {code} 
>     fullScan(catalogTracker, visitor, getTableStartRowForMeta(tableNameBytes));
>     // If visitor has results >= 1 then table exists.
>     return visitor.getResults().size() >= 1;
> {code}
> Even table is present we are returning false which is not correct(its highly possible
in case of tables with one region).

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

View raw message