From 32155ead22e7282729603898e62e6603b1b66769 Mon Sep 17 00:00:00 2001 From: Esteban Gutierrez Date: Fri, 21 Jul 2017 14:13:13 -0500 Subject: [PATCH] HBASE-18025 CatalogJanitor should collect outdated RegionStates from the AM --- .../java/org/apache/hadoop/hbase/master/CatalogJanitor.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java index ba92c765e1..c88c19f0c4 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java @@ -20,10 +20,7 @@ package org.apache.hadoop.hbase.master; import java.io.FileNotFoundException; import java.io.IOException; -import java.util.Comparator; -import java.util.HashSet; -import java.util.Map; -import java.util.TreeMap; +import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; @@ -234,6 +231,7 @@ public class CatalogJanitor extends ScheduledChore { */ int scan() throws IOException { int result = 0; + ServerManager sm = this.services.getServerManager(); try { if (!alreadyRunning.compareAndSet(false, true)) { LOG.debug("CatalogJanitor already running"); @@ -265,6 +263,9 @@ public class CatalogJanitor extends ScheduledChore { result++; } } + // Remove from in-memory states + sm.removeRegion(regionA); + sm.removeRegion(regionB); } /** * clean split parents @@ -291,6 +292,8 @@ public class CatalogJanitor extends ScheduledChore { parentNotCleaned.add(daughters.getFirst().getEncodedName()); parentNotCleaned.add(daughters.getSecond().getEncodedName()); } + // Remove from in-memory states + sm.removeRegion(e.getKey()); } return result; } finally { -- 2.13.3