From 976563e094036891f1260463dc01881e698100e3 Mon Sep 17 00:00:00 2001 From: binlijin Date: Wed, 25 Dec 2019 09:56:48 +0800 Subject: [PATCH] =?UTF-8?q?HBASE-23613=20ProcedureExecutor=20check=20Stuck?= =?UTF-8?q?Workers=20blocked=20by=20DeadServe=E2=80=A6=20(#960)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: stack Signed-off-by: Duo Zhang --- .../hbase/master/assignment/AssignmentManager.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) 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 e531d612d3e..06aef4a83ec 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 @@ -1176,15 +1176,9 @@ public class AssignmentManager { if (rsn.getState() != State.OPEN) { continue; // Opportunistic check, should quickly skip RITs, offline tables, etc. } - ServerName sn; - State state; - rsn.lock(); - try { - sn = rsn.getRegionLocation(); - state = rsn.getState(); - } finally { - rsn.unlock(); - } + // Do not need to acquire region state lock as this is only for showing metrics. + ServerName sn = rsn.getRegionLocation(); + State state = rsn.getState(); if (state != State.OPEN) { continue; // Mostly skipping RITs that are already being take care of. }