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