From e898242ff4cb0294fbbd9eac0b886e6ab27712d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E4=BC=9A=E9=98=B3?= Date: Fri, 2 Aug 2019 19:11:57 +0800 Subject: [PATCH] HBASE-22780 Missing table descriptor may cause STUCK Region-In-Transition forever --- .../main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java index 2b3bec73de..47cc715d82 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java @@ -2018,6 +2018,9 @@ public class RSRpcServices implements HBaseRPCErrorHandler, htds.put(region.getTable(), htd); } if (htd == null) { + if(regionServer.regionsInTransitionInRS.containsKey(encodedNameBytes)){ + regionServer.regionsInTransitionInRS.remove(encodedNameBytes); + } throw new IOException("Missing table descriptor for " + region.getEncodedName()); } // If there is no action in progress, we can submit a specific handler. -- 2.14.3 (Apple Git-98)