It is a bug.
On Wed, Jul 27, 2011 at 4:07 AM, Ramkrishna S Vasudevan <
[email protected]> wrote:
> Hi,
>
>
>
> 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.
>
> Is this intended?
>
>
>
> 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, etc.
>
> preRegistrationInitialization();
> } catch (Exception e) {
> abort("Fatal exception during initialization", e);
> }
>
> Is it a bug ?
>
>
>
> Regards
>
> Ram
>
>