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

Zhihong Yu commented on HBASE-6151:
-----------------------------------

ServerNotRunningYetException should be handled in the last catch block of 
getCachedConnection():
{code}
    } catch (IOException ioe) {
{code}
                
> Master can die if RegionServer throws ServerNotRunningYet
> ---------------------------------------------------------
>
>                 Key: HBASE-6151
>                 URL: https://issues.apache.org/jira/browse/HBASE-6151
>             Project: HBase
>          Issue Type: Bug
>          Components: ipc
>    Affects Versions: 0.90.7, 0.92.2, 0.96.0, 0.94.1
>            Reporter: Gregory Chanan
>            Assignee: Gregory Chanan
>
> See, for example:
> {noformat}
> 2012-05-23 16:49:22,745 FATAL org.apache.hadoop.hbase.master.HMaster: 
> Unhandled exception. Starting shutdown.
> org.apache.hadoop.hbase.ipc.ServerNotRunningException: 
> org.apache.hadoop.hbase.ipc.ServerNotRunningException: Server is not running 
> yet
>       at 
> org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1038)
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>       at 
> org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:96)
>       at 
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1240)
>       at 
> org.apache.hadoop.hbase.catalog.CatalogTracker.getCachedConnection(CatalogTracker.java:444)
>       at 
> org.apache.hadoop.hbase.catalog.CatalogTracker.getMetaServerConnection(CatalogTracker.java:343)
>       at 
> org.apache.hadoop.hbase.catalog.CatalogTracker.verifyMetaRegionLocation(CatalogTracker.java:540)
>       at 
> org.apache.hadoop.hbase.master.HMaster.assignRootAndMeta(HMaster.java:474)
>       at 
> org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:412)
> {noformat}
> The HRegionServer calls HBaseServer:
> {code}
>   public void start() {
>     startThreads();
>     openServer();
>   }
> {code}
> but the server can start accepting RPCs once the threads have been started, 
> but if they do, they throw ServerNotRunningException until openServer runs.  
> We should probably
> 1) Catch the remote exception and retry on the master
> 2) Look into whether the start() behavior of HBaseServer makes any sense.  
> Why would you start accepting RPCs only to throw back 
> ServerNotRunningException?

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