From f124f82fb9e39be07c28810cd9c18cd6779e608e Mon Sep 17 00:00:00 2001 From: Thiruvel Thirumoolan Date: Thu, 15 Feb 2018 02:07:54 -0800 Subject: [PATCH] HBASE-20001 cleanIfNoMetaEntry() uses encoded instead of region name to lookup region --- .../src/main/java/org/apache/hadoop/hbase/master/RegionStates.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java index 7ce62573d6..4fba166cdc 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java @@ -773,6 +773,8 @@ public class RegionStates { " to be reassigned by ServerCrashProcedure for " + sn); rits.add(hri); } else if(state.isSplittingNew() || state.isMergingNew()) { + LOG.info("Offline/Cleanup region if no meta entry exists, hri: " + hri + + " state: " + state); regionsToCleanIfNoMetaEntry.add(state.getRegion()); } else { LOG.warn("THIS SHOULD NOT HAPPEN: unexpected " + state); @@ -801,9 +803,9 @@ public class RegionStates { // This is RPC to meta table. It is done while we have a synchronize on // regionstates. No progress will be made if meta is not available at this time. // This is a cleanup task. Not critical. - if (MetaTableAccessor.getRegion(server.getConnection(), hri.getEncodedNameAsBytes()) == - null) { + if (MetaTableAccessor.getRegion(server.getConnection(), hri.getRegionName()) == null) { regionOffline(hri); + LOG.info("Cleaning up HDFS since no meta entry exists, hri: " + hri); FSUtils.deleteRegionDir(server.getConfiguration(), hri); } } catch (IOException e) { -- 2.14.3 (Apple Git-98)