From 75f738f09028b5cf7909348d475caf821cfb62d5 Mon Sep 17 00:00:00 2001 From: c00443737 Date: Thu, 11 Jun 2020 15:15:05 +0800 Subject: [PATCH] [HBASE-22263] Add the dead server to ServerManager's dead server list when already has SCP --- hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java index 69b8cbc..972af81 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java @@ -873,7 +873,7 @@ public class HMaster extends HRegionServer implements MasterServices, Server { for (ProcedureInfo procInfo : this.procedureExecutor.listProcedures() ) { final Procedure proc = this.procedureExecutor.getProcedure(procInfo.getProcId()); if (proc != null) { - if (proc instanceof ServerCrashProcedure) { + if (proc instanceof ServerCrashProcedure && !(proc.isFinished() || proc.isSuccess())) { scpCount++; alreadyHasSCP.add(((ServerCrashProcedure)proc).getServerName()); } @@ -890,6 +890,7 @@ public class HMaster extends HRegionServer implements MasterServices, Server { for (ServerName tmpServer : previouslyFailedServers) { if (alreadyHasSCP.contains(tmpServer)) { LOG.info("Skipping failed server in FS because it already has a queued SCP: " + tmpServer); + this.serverManager.getDeadServers().add(tmpServer); } else { LOG.info("Process failed server in FS that has no queued SCP: " + tmpServer); this.serverManager.processDeadServer(tmpServer, true); -- 2.9.2.windows.1