You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org> on 2011/07/27 17:03:09 UTC

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

 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
            Reporter: ramkrishna.s.vasudevan
            Assignee: ramkrishna.s.vasudevan
            Priority: Minor


 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

        

[jira] [Updated] (HBASE-4144) RS does not abort if the initialization of RS fails

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

Ted Yu updated HBASE-4144:
--------------------------

    Summary:  RS does not abort if the initialization of RS fails  (was:  RS doesnot abort if the initialization of RS fails)

>  RS does not 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

        

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

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13072708#comment-13072708 ] 

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

Applied to branch and TRUNK.

Thanks for the patch Ramkrishna.

>  RS does not 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

        

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

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

ramkrishna.s.vasudevan updated HBASE-4144:
------------------------------------------

    Attachment: HBASE-4144_trunk.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

        

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

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

        

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

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-4144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13072744#comment-13072744 ] 

Hudson commented on HBASE-4144:
-------------------------------

Integrated in HBase-TRUNK #2062 (See [https://builds.apache.org/job/HBase-TRUNK/2062/])
    HBASE-4144  RS does not abort if the initialization of RS fails (ramkrishna.s.vasudevan)

tedyu : 
Files : 
* /hbase/trunk/CHANGES.txt
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java


>  RS does not 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

        

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

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

ramkrishna.s.vasudevan updated HBASE-4144:
------------------------------------------

    Affects Version/s: 0.90.3
               Status: Patch Available  (was: Open)

>  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

        

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

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

ramkrishna.s.vasudevan updated HBASE-4144:
------------------------------------------

    Attachment: HBASE-4144_0.90.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

        

[jira] [Updated] (HBASE-4144) RS does not abort if the initialization of RS fails

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

Ted Yu updated HBASE-4144:
--------------------------

    Fix Version/s: 0.90.5

>  RS does not 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
>             Fix For: 0.90.5
>
>         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

        

[jira] [Updated] (HBASE-4144) RS does not abort if the initialization of RS fails

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

Ted Yu updated HBASE-4144:
--------------------------

      Resolution: Fixed
    Hadoop Flags: [Reviewed]
          Status: Resolved  (was: Patch Available)

>  RS does not 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