You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Gregory Chanan (JIRA)" <ji...@apache.org> on 2012/06/02 02:52:23 UTC

[jira] [Created] (HBASE-6151) Master can die if RegionServer throws ServerNotRunningYet

Gregory Chanan created HBASE-6151:
-------------------------------------

             Summary: 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:
  public void start() {
    startThreads();
    openServer();
  }
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

        

[jira] [Updated] (HBASE-6151) Master can die if RegionServer throws ServerNotRunningYet

Posted by "Gregory Chanan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Chanan updated HBASE-6151:
----------------------------------

    Description: 
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}

{code}
The HRegionServer calls HBaseServer:
  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?


  was:
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:
  public void start() {
    startThreads();
    openServer();
  }
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?


    
> 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}
> {code}
> The HRegionServer calls HBaseServer:
>   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

        

[jira] [Updated] (HBASE-6151) Master can die if RegionServer throws ServerNotRunningYet

Posted by "Gregory Chanan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Chanan updated HBASE-6151:
----------------------------------

    Description: 
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?


  was:
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}

{code}
The HRegionServer calls HBaseServer:
  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?


    
> 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

        

[jira] [Updated] (HBASE-6151) Master can die if RegionServer throws ServerNotRunningYet

Posted by "Gregory Chanan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Chanan updated HBASE-6151:
----------------------------------

    Affects Version/s:     (was: 0.94.1)
                           (was: 0.96.0)
                           (was: 0.92.2)

I may have been wrong about this affecting 0.92+.  It looks like HBASE-4455 fixed this in 0.92.  I'll look at backporting.
                
> 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
>            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

        

[jira] [Resolved] (HBASE-6151) Master can die if RegionServer throws ServerNotRunningYet

Posted by "Gregory Chanan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Chanan resolved HBASE-6151.
-----------------------------------

    Resolution: Duplicate
    
> 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
>            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

        

[jira] [Commented] (HBASE-6151) Master can die if RegionServer throws ServerNotRunningYet

Posted by "Zhihong Yu (JIRA)" <ji...@apache.org>.
    [ 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