[ 
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

        

Reply via email to