HBASE-18493 [AMv2] Skipped re-assignment of regions on crashed server through 
AssignmentManager.checkIfShouldMoveSystemRegionAsync() as those regions are 
handled by ServerCrashProcedure

Signed-off-by: Michael Stack <st...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/acf9b87d
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/acf9b87d
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/acf9b87d

Branch: refs/heads/HBASE-14070.HLC
Commit: acf9b87dca2cd190f4b5318efd5dc48e19b317f4
Parents: 4c74a73
Author: Umesh Agashe <uaga...@cloudera.com>
Authored: Tue Aug 15 14:00:04 2017 -0700
Committer: Michael Stack <st...@apache.org>
Committed: Wed Aug 16 08:12:05 2017 -0700

----------------------------------------------------------------------
 .../hadoop/hbase/master/assignment/AssignmentManager.java   | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/acf9b87d/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
index 54cb1ca..0b23f47 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
@@ -480,6 +480,15 @@ public class AssignmentManager implements ServerListener {
         synchronized (checkIfShouldMoveSystemRegionLock) {
           List<RegionPlan> plans = new ArrayList<>();
           for (ServerName server : getExcludedServersForSystemTable()) {
+            if (master.getServerManager().isServerDead(server)) {
+              // TODO: See HBASE-18494 and HBASE-18495. Though 
getExcludedServersForSystemTable()
+              // considers only online servers, the server could be queued for 
dead server
+              // processing. As region assignments for crashed server is 
handled by
+              // ServerCrashProcedure, do NOT handle them here. The goal is to 
handle this through
+              // regular flow of LoadBalancer as a favored node and not to 
have this special
+              // handling.
+              continue;
+            }
             List<HRegionInfo> regionsShouldMove = 
getCarryingSystemTables(server);
             if (!regionsShouldMove.isEmpty()) {
               for (HRegionInfo regionInfo : regionsShouldMove) {

Reply via email to