From 4f622ecad88bb2c54bec8be1ebc88145f1aa368d Mon Sep 17 00:00:00 2001 From: bibinchundatt Date: Thu, 27 Jun 2019 09:59:44 +0530 Subject: [PATCH] YARN-9639. DecommissioningNodesWatcher cause memory leak. Contributed by Bilwa S T. (cherry picked from commit be80334cdf255616f589217726483194fb56dcc6) --- .../server/resourcemanager/DecommissioningNodesWatcher.java | 5 +++++ .../yarn/server/resourcemanager/ResourceTrackerService.java | 1 + 2 files changed, 6 insertions(+) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/DecommissioningNodesWatcher.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/DecommissioningNodesWatcher.java index ca3eb798414..ace4cec1da2 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/DecommissioningNodesWatcher.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/DecommissioningNodesWatcher.java @@ -207,6 +207,11 @@ public synchronized void remove(NodeId nodeId) { } } + public void stop() { + pollTimer.cancel(); + pollTimer = null; + } + /** * Status about a specific decommissioning node. * diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceTrackerService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceTrackerService.java index 81be62814b3..2b957cad185 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceTrackerService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceTrackerService.java @@ -260,6 +260,7 @@ protected void serviceStart() throws Exception { @Override protected void serviceStop() throws Exception { + decommissioningWatcher.stop(); if (this.server != null) { this.server.stop(); }