From bd28ba385a5e3163a8ca5d60f322b8c382461b87 Mon Sep 17 00:00:00 2001 From: jchanggg Date: Thu, 12 Oct 2023 04:13:44 -0700 Subject: [PATCH] YARN-11588. [Federation] Fix uncleaned threads in yarn router thread pool executor (#6159) Contributed by Jeffrey Chang. Reviewed-by: Inigo Goiri Signed-off-by: Shilun Fan --- .../server/router/clientrm/FederationClientInterceptor.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/clientrm/FederationClientInterceptor.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/clientrm/FederationClientInterceptor.java index 63a5739417..9c3f9971d8 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/clientrm/FederationClientInterceptor.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/clientrm/FederationClientInterceptor.java @@ -230,6 +230,9 @@ public void init(String userName) { this.executorService = new ThreadPoolExecutor(numMinThreads, numMaxThreads, keepAliveTime, TimeUnit.MILLISECONDS, workQueue, threadFactory); + // Adding this line so that unused user threads will exit and be cleaned up if idle for too long + this.executorService.allowCoreThreadTimeOut(true); + final Configuration conf = this.getConf(); try {