You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2011/07/28 17:00:11 UTC

[jira] [Commented] (HBASE-4144) RS doesnot abort if the initialization of RS fails

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

Ted Yu commented on HBASE-4144:
-------------------------------

+1 on patch.

>  RS doesnot abort if the initialization of RS fails
> ---------------------------------------------------
>
>                 Key: HBASE-4144
>                 URL: https://issues.apache.org/jira/browse/HBASE-4144
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.90.3
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Minor
>         Attachments: HBASE-4144_0.90.patch, HBASE-4144_trunk.patch
>
>
>  If any exception occurs while initialization of RS the RS doesnot get
>  aborted whereas only the RPC server gets stopped.
>   private void preRegistrationInitialization()
>   throws IOException, InterruptedException {
>     try {
>       initializeZooKeeper();
>       initializeThreads();
>       int nbBlocks = conf.getInt("hbase.regionserver.nbreservationblocks",4);
>       for (int i = 0; i < nbBlocks; i++) {
>         reservedSpace.add(new
>  byte[HConstants.DEFAULT_SIZE_RESERVATION_BLOCK]);
>       }
>     } catch (Throwable t) {
>       // Call stop if error or process will stick around for ever since
>  server
>       // puts up non-daemon threads.
>       LOG.error("Stopping HRS because failed initialize", t);
>       this.rpcServer.stop();
>     }
>   }
>  So if any exception occurs while initilization the RPC server gets stopped
>  but RS process is still running. But the log says stopping HRegionServer.
>  So in the below code the catch() block will be executed when the RPCServer
>  stop fails?
>  In all other cases it doesnt handle any initialization failure.
>     try {
>       // Do pre-registration initializations; zookeeper, lease threads,tc.
>       preRegistrationInitialization();
>     } catch (Exception e) {
>       abort("Fatal exception during initialization", e);
>     }

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira