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

Zhihong Ted Yu commented on HBASE-6289:
---------------------------------------

The reason Hadoop QA didn't post back is the following:
{code}
[ERROR] 
/Users/zhihyu/trunk-hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java:[346,38]
 unreported exception java.lang.InterruptedException; must be caught or 
declared to be thrown
[ERROR] 
[ERROR] 
/Users/zhihyu/trunk-hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java:[380,34]
 unreported exception java.lang.InterruptedException; must be caught or 
declared to be thrown
[ERROR] 
[ERROR] 
/Users/zhihyu/trunk-hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java:[419,6]
 exception java.lang.InterruptedException is never thrown in body of 
corresponding try statement
[ERROR] 
[ERROR] 
/Users/zhihyu/trunk-hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java:[693,35]
 unreported exception java.lang.InterruptedException; must be caught or 
declared to be thrown
{code}
                
> ROOT region doesn't get re-assigned in ServerShutdownHandler if the RS is 
> still working but only the RS's ZK node expires.
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-6289
>                 URL: https://issues.apache.org/jira/browse/HBASE-6289
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>    Affects Versions: 0.90.6, 0.94.0
>            Reporter: Maryann Xue
>            Assignee: Maryann Xue
>            Priority: Critical
>         Attachments: HBASE-6289.patch
>
>
> The ROOT RS has some network problem and its ZK node expires first, which 
> kicks off the ServerShutdownHandler. it calls verifyAndAssignRoot() to try to 
> re-assign ROOT. At that time, the RS is actually still working and passes the 
> verifyRootRegionLocation() check, so the ROOT region is skipped from 
> re-assignment.
> {code}
>   private void verifyAndAssignRoot()
>   throws InterruptedException, IOException, KeeperException {
>     long timeout = this.server.getConfiguration().
>       getLong("hbase.catalog.verification.timeout", 1000);
>     if (!this.server.getCatalogTracker().verifyRootRegionLocation(timeout)) {
>       this.services.getAssignmentManager().assignRoot();
>     }
>   }
> {code}
> After a few moments, this RS encounters DFS write problem and decides to 
> abort. The RS then soon gets restarted from commandline, and constantly 
> report:
> {code}
> 2012-06-27 23:13:08,627 DEBUG 
> org.apache.hadoop.hbase.regionserver.HRegionServer: 
> NotServingRegionException; Region is not online: -ROOT-,,0
> 2012-06-27 23:13:08,627 DEBUG 
> org.apache.hadoop.hbase.regionserver.HRegionServer: 
> NotServingRegionException; Region is not online: -ROOT-,,0
> 2012-06-27 23:13:08,628 DEBUG 
> org.apache.hadoop.hbase.regionserver.HRegionServer: 
> NotServingRegionException; Region is not online: -ROOT-,,0
> 2012-06-27 23:13:08,628 DEBUG 
> org.apache.hadoop.hbase.regionserver.HRegionServer: 
> NotServingRegionException; Region is not online: -ROOT-,,0
> 2012-06-27 23:13:08,630 DEBUG 
> org.apache.hadoop.hbase.regionserver.HRegionServer: 
> NotServingRegionException; Region is not online: -ROOT-,,0
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to