hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vidhyashankar Venkataraman (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-3904) HConnection.isTableAvailable returns true even with not all regions available.
Date Fri, 20 May 2011 05:53:47 GMT

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

Vidhyashankar Venkataraman commented on HBASE-3904:
---------------------------------------------------

That's exactly what I did with my table existence check! And getRegionsInfo works accurately.

 I think we have kind of misunderstood what is actually happening: Or I am wrong this time
:)

 From what I read in the isTableAvailable function, the Metascanvisitor ensures that if there
is at least one region not assigned, then the function will return false. This isn't enough
since the createTable function in master assigns one region after another. (Refer to HMAster.createTable(final
HRegionInfo [] newRegions, boolean sync)) Hence there might be a case when all regions are
indeed fully assigned in META but it is just that the master is yet to populate META with
the rest of the regions. I believe that's the reason why I got those inconsistent responses
from isTableAvailable.

Therefor for isTableAvailable to work correctly with createTable(splitkeys), the master will
have to populate all the regions in meta first before assigning them. I think that will do
the trick.

> HConnection.isTableAvailable returns true even with not all regions available.
> ------------------------------------------------------------------------------
>
>                 Key: HBASE-3904
>                 URL: https://issues.apache.org/jira/browse/HBASE-3904
>             Project: HBase
>          Issue Type: Bug
>          Components: client
>            Reporter: Vidhyashankar Venkataraman
>            Priority: Minor
>
> This function as per the java doc is supposed to return true iff "all the regions in
the table are available". But if the table is still being created this function may return
inconsistent results (For example, when a table with a large number of split keys is created).


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message