You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2009/09/19 00:14:16 UTC

[jira] Commented: (HBASE-1852) HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region

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

stack commented on HBASE-1852:
------------------------------

@cosmine

Oh, weird.  HCM has an HTable (if only for a .META. table).

Should use the define for .META. table name from HConstants.

The Scan should be be set up to only get HConstants.CATALOG_FAMILY,  HConstants.REGIONINFO_QUALIFIER, rather than ask for all on the row and then extract the wanted column from the Result client-side.

Why not close of the scanner in a finally clause?

Do all tests pass?  If so, then this maybe the way to go (I'm in favor of moving to HTable everywhere we have an HCM inside in servers currently though this is a different spin on it... an HTable has an HCM and in the HCM is an HTable ...).

(@jgray, you are fast at writing code).




> HConnectionManager.testTableOnlineState will get into infinite loop if more than one .META. region
> --------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-1852
>                 URL: https://issues.apache.org/jira/browse/HBASE-1852
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.20.0
>         Environment: OSX/Linux
>            Reporter: Cosmin Lehene
>             Fix For: 0.20.1
>
>         Attachments: 0001-Fixed-.META.-split-bug.patch, HBASE-1852-unittest1.patch, HBaseMetaSplitIssues.java
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Create 3 tables (preferably on a clean cluster to avoid other potential issues)
> Split .META.
> From the master web inteface try to click on the first table - the page will not load and refreshing the main page will show lots of requests. 
> HBaseAdmin.testTableOnlineState will get into an infinite loop if .META. has more than one region. This method should probably use a regular scanner and an iterator. 
> I guess this issue would also happen with a single .META. region if rrs = getRegionServerWithRetries(s) would get an UnknownScannerException (from a scanner lease expiration on the region server), but I haven't double checked this.
> I attached a java method that you can use as a reference to reproduce the behavior. However, since it calls split() on .META. and that is async, you might have to run it twice and check that .META. actually splitted before getting into the infinite loop. 

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