hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zhihong Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-5875) Process RIT and Master restart may remove an online server considering it as a dead server
Date Fri, 04 May 2012 16:48:50 GMT

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

Zhihong Yu commented on HBASE-5875:
-----------------------------------

The following change is for debugging, right ? If so, please change log level accordingly:
{code}
+    }catch(NotServingRegionException nsre){
+      LOG.info("Failed verification of " + Bytes.toStringBinary(regionName) +
+          " at address=" + address + "; " + t);
+      throw nsre;
{code}
{code}
+    } catch (NotServingRegionException nsre) {
+      if(rit == true){
+        // the root region location is available.
{code}
People unfamiliar with processRegionInTransitionAndBlockUntilAssigned() may get confused by
the code above. rit actually means root region has come out of transition. So rit should be
named accordingly.
{code}
+  public void setServerShutdownHandlerEnabled(boolean setServerShutDownEnabled) {
{code}
The above method should be made package-private. Append 'ForTest' to the end of method name
would help clarify its purpose.
                
> Process RIT and Master restart may remove an online server considering it as a dead server
> ------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5875
>                 URL: https://issues.apache.org/jira/browse/HBASE-5875
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.92.1
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.94.1
>
>         Attachments: HBASE-5875.patch, HBASE-5875_0.94.patch
>
>
> If on master restart it finds the ROOT/META to be in RIT state, master tries to assign
the ROOT region through ProcessRIT.
> Master will trigger the assignment and next will try to verify the Root Region Location.
> Root region location verification is done seeing if the RS has the region in its online
list.
> If the master triggered assignment has not yet been completed in RS then the verify root
region location will fail.
> Because it failed 
> {code}
> splitLogAndExpireIfOnline(currentRootServer);
> {code}
> we do split log and also remove the server from online server list. Ideally here there
is nothing to do in splitlog as no region server was restarted.
> So master, though the server is online, master just invalidates the region server.
> In a special case, if i have only one RS then my cluster will become non operative.

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

        

Mime
View raw message