You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2010/10/15 23:22:40 UTC

svn commit: r1023115 - in /hbase/trunk/src/main/java/org/apache/hadoop/hbase: ipc/HRegionInterface.java master/ServerManager.java regionserver/HRegionServer.java regionserver/RegionServerClosedException.java regionserver/RegionServerStoppedException.java

Author: stack
Date: Fri Oct 15 21:22:38 2010
New Revision: 1023115

URL: http://svn.apache.org/viewvc?rev=1023115&view=rev
Log:
HBASE-3113 Don't reassign regions if cluster is being shutdown; part 2 -- fix wrongly named exception and let out IOEs when opening regions on RS

Added:
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerStoppedException.java
Removed:
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerClosedException.java
Modified:
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java?rev=1023115&r1=1023114&r2=1023115&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java Fri Oct 15 21:22:38 2010
@@ -299,14 +299,18 @@ public interface HRegionInterface extend
   /**
    * Opens the specified region.
    * @param region region to open
+   * @param RegionServerStoppedException
+   * @param IOException
    */
-  public void openRegion(final HRegionInfo region);
+  public void openRegion(final HRegionInfo region) throws IOException;
 
   /**
    * Opens the specified regions.
    * @param regions regions to open
+   * @param RegionServerStoppedException
+   * @param IOException
    */
-  public void openRegions(final List<HRegionInfo> regions);
+  public void openRegions(final List<HRegionInfo> regions) throws IOException;
 
   /**
    * Closes the specified region.

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java?rev=1023115&r1=1023114&r2=1023115&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java Fri Oct 15 21:22:38 2010
@@ -506,7 +506,8 @@ public class ServerManager {
    * @param server server to open a region
    * @param region region to open
    */
-  public void sendRegionOpen(HServerInfo server, HRegionInfo region) {
+  public void sendRegionOpen(HServerInfo server, HRegionInfo region) 
+  throws IOException {
     HRegionInterface hri = getServerConnection(server);
     if (hri == null) {
       LOG.warn("Attempting to send OPEN RPC to server " + server.getServerName()
@@ -524,7 +525,8 @@ public class ServerManager {
    * @param server server to open a region
    * @param regions regions to open
    */
-  public void sendRegionOpen(HServerInfo server, List<HRegionInfo> regions) {
+  public void sendRegionOpen(HServerInfo server, List<HRegionInfo> regions)
+  throws IOException {
     HRegionInterface hri = getServerConnection(server);
     if (hri == null) {
       LOG.warn("Attempting to send OPEN RPC to server " + server.getServerName()

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1023115&r1=1023114&r2=1023115&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Fri Oct 15 21:22:38 2010
@@ -1929,7 +1929,8 @@ public class HRegionServer implements HR
   // Region open/close direct RPCs
 
   @Override
-  public void openRegion(HRegionInfo region) {
+  public void openRegion(HRegionInfo region)
+  throws RegionServerStoppedException {
     LOG.info("Received request to open region: " +
       region.getRegionNameAsString());
     if (this.stopped) throw new RegionServerStoppedException();
@@ -1943,7 +1944,8 @@ public class HRegionServer implements HR
   }
 
   @Override
-  public void openRegions(List<HRegionInfo> regions) {
+  public void openRegions(List<HRegionInfo> regions)
+  throws RegionServerStoppedException {
     LOG.info("Received request to open " + regions.size() + " region(s)");
     for (HRegionInfo region: regions) openRegion(region);
   }

Added: hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerStoppedException.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerStoppedException.java?rev=1023115&view=auto
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerStoppedException.java (added)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerStoppedException.java Fri Oct 15 21:22:38 2010
@@ -0,0 +1,29 @@
+/**
+ * Copyright 2010 The Apache Software Foundation
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.regionserver;
+
+import org.apache.hadoop.hbase.DoNotRetryIOException;
+
+/**
+ * Thrown by the region server when it is shutting down state.
+ */
+@SuppressWarnings("serial")
+public class RegionServerStoppedException extends DoNotRetryIOException {
+}
\ No newline at end of file