[ 
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.

Reply via email to