diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/TaskMonitor.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/TaskMonitor.java index d2edaa8b1d84..33d00a5c289e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/TaskMonitor.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/TaskMonitor.java @@ -243,6 +243,11 @@ public synchronized void shutdown() { } } + public synchronized void purgeAllTasks() { + tasks.clear(); + rpcTasks.clear(); + } + /** * This class encapsulates an object as well as a weak reference to a proxy * that passes through calls to that object. In art form: diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/monitoring/TestTaskMonitor.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/monitoring/TestTaskMonitor.java index c9a9fc98069a..a7711d8a7630 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/monitoring/TestTaskMonitor.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/monitoring/TestTaskMonitor.java @@ -142,6 +142,7 @@ public void testDoNotPurgeRPCTask() throws Exception { } assertEquals("RPC Tasks have been purged!", RPCTaskNums, remainRPCTask); tm.shutdown(); + tm.purgeAllTasks(); } @Test