From cca2c2c2519efc6da147f0517f52f2a2a2e8357d Mon Sep 17 00:00:00 2001 From: Ajay Jadhav Date: Fri, 3 Feb 2017 13:34:55 -0800 Subject: [PATCH] Scoping stringbuilder to avoid OOM exception in case of large number of decommissioning nodes --- .../yarn/server/resourcemanager/DecommissioningNodesWatcher.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 767f28b..ee75426 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 @@ -324,9 +324,9 @@ private int getTimeoutInSec(DecommissioningNodeContext context) { private void logDecommissioningNodesStatus() { if (decomNodes.size() == 0) return; - StringBuilder sb = new StringBuilder(); long now = System.currentTimeMillis(); for (DecommissioningNodeContext d : decomNodes.values()) { + StringBuilder sb = new StringBuilder(); DecommissioningNodeStatus s = getDecommissioningStatus(d.nodeId); sb.append(String.format( "\n %-34s %4ds fresh:%3ds containers:%2d %14s", @@ -351,8 +351,8 @@ private void logDecommissioningNodesStatus() { (System.currentTimeMillis() - rmApp.getStartTime()) / 1000)); } } + LOG.info("Decommissioning node: " + sb.toString()); } - LOG.info("Decommissioning Nodes: " + sb.toString()); } // Read possible new DECOMMISSIONING_TIMEOUT_KEY from yarn-site.xml. @@ -371,4 +371,4 @@ private void readDecommissioningTimeout() { LOG.info("Error readDecommissioningTimeout " + e.getMessage()); } } -} \ No newline at end of file +} -- 2.10.1 (Apple Git-78)