Repository: hbase Updated Branches: refs/heads/master 7ffd14986 -> 71a523a61
HBASE-14013 Retry when RegionServerNotYetRunningException rather than go ahead with assign so for sure we don't skip WAL replay Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/71a523a6 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/71a523a6 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/71a523a6 Branch: refs/heads/master Commit: 71a523a6197da0abe93469e13d644adb629529db Parents: 7ffd149 Author: stack <st...@apache.org> Authored: Thu Jul 2 14:28:26 2015 -0700 Committer: stack <st...@apache.org> Committed: Thu Jul 2 14:28:26 2015 -0700 ---------------------------------------------------------------------- .../org/apache/hadoop/hbase/master/AssignmentManager.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/71a523a6/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java index 71be7c7..f7f98fe 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java @@ -896,15 +896,15 @@ public class AssignmentManager { if (t instanceof RemoteException) { t = ((RemoteException)t).unwrapRemoteException(); } - if (t instanceof RegionServerAbortedException) { + if (t instanceof RegionServerAbortedException + || t instanceof RegionServerStoppedException + || t instanceof ServerNotRunningYetException) { // RS is aborting, we cannot offline the region since the region may need to do WAL // recovery. Until we see the RS expiration, we should retry. sleepTime = 1 + conf.getInt(RpcClient.FAILED_SERVER_EXPIRY_KEY, RpcClient.FAILED_SERVER_EXPIRY_DEFAULT); - } else if (t instanceof NotServingRegionException - || t instanceof RegionServerStoppedException - || t instanceof ServerNotRunningYetException) { + } else if (t instanceof NotServingRegionException) { LOG.debug("Offline " + region.getRegionNameAsString() + ", it's not any more on " + server, t); regionStates.updateRegionState(region, State.OFFLINE);