You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jx...@apache.org on 2014/03/14 04:12:23 UTC
svn commit: r1577417 - in /hbase/branches/0.98/hbase-server/src:
main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerOnCluster.java
Author: jxiang
Date: Fri Mar 14 03:12:23 2014
New Revision: 1577417
URL: http://svn.apache.org/r1577417
Log:
HBASE-10744 AM#CloseRegion no need to retry on FailedServerException
Modified:
hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
hbase/branches/0.98/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerOnCluster.java
Modified: hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java?rev=1577417&r1=1577416&r2=1577417&view=diff
==============================================================================
--- hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (original)
+++ hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java Fri Mar 14 03:12:23 2014
@@ -61,6 +61,7 @@ import org.apache.hadoop.hbase.exception
import org.apache.hadoop.hbase.executor.EventHandler;
import org.apache.hadoop.hbase.executor.EventType;
import org.apache.hadoop.hbase.executor.ExecutorService;
+import org.apache.hadoop.hbase.ipc.RpcClient.FailedServerException;
import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;
import org.apache.hadoop.hbase.master.RegionState.State;
import org.apache.hadoop.hbase.master.balancer.FavoredNodeAssignmentHelper;
@@ -1693,7 +1694,9 @@ public class AssignmentManager extends Z
t = ((RemoteException)t).unwrapRemoteException();
}
if (t instanceof NotServingRegionException
- || t instanceof RegionServerStoppedException) {
+ || t instanceof RegionServerStoppedException
+ || t instanceof ServerNotRunningYetException
+ || t instanceof FailedServerException) {
LOG.debug("Offline " + region.getRegionNameAsString()
+ ", it's not any more on " + server, t);
if (transitionInZK) {
@@ -2117,7 +2120,7 @@ public class AssignmentManager extends Z
* if no servers to assign, it returns null).
*/
private RegionPlan getRegionPlan(final HRegionInfo region,
- final boolean forceNewPlan) throws HBaseIOException {
+ final boolean forceNewPlan) throws HBaseIOException {
return getRegionPlan(region, null, forceNewPlan);
}
Modified: hbase/branches/0.98/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerOnCluster.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.98/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerOnCluster.java?rev=1577417&r1=1577416&r2=1577417&view=diff
==============================================================================
--- hbase/branches/0.98/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerOnCluster.java (original)
+++ hbase/branches/0.98/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerOnCluster.java Fri Mar 14 03:12:23 2014
@@ -750,23 +750,14 @@ public class TestAssignmentManagerOnClus
// You can't assign a dead region before SSH
am.assign(hri, true, true);
RegionState state = regionStates.getRegionState(hri);
- assertTrue(state.isFailedClose());
+ assertTrue(state.isOffline());
// You can't unassign a dead region before SSH either
am.unassign(hri, true);
- state = regionStates.getRegionState(hri);
- assertTrue(state.isFailedClose());
+ assertTrue(state.isOffline());
- synchronized (regionStates) {
- // Enable SSH so that log can be split
- master.enableSSH(true);
-
- // We hold regionStates now, so logSplit
- // won't be known to AM yet.
- am.unassign(hri, true);
- state = regionStates.getRegionState(hri);
- assertTrue(state.isOffline());
- }
+ // Enable SSH so that log can be split
+ master.enableSSH(true);
// let's check if it's assigned after it's out of transition.
// no need to assign it manually, SSH should do it