From d85a951a7b9934c8645b301278172ea2ea8bed72 Mon Sep 17 00:00:00 2001 From: Josh Rosen Date: Wed, 21 Feb 2024 11:51:46 -0800 Subject: [PATCH] Reduce noisy exceptions on StandaloneSchedulerBackend shutdown --- .../cluster/StandaloneSchedulerBackend.scala | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/core/src/main/scala/org/apache/spark/scheduler/cluster/StandaloneSchedulerBackend.scala b/core/src/main/scala/org/apache/spark/scheduler/cluster/StandaloneSchedulerBackend.scala index bd1cb164b4bee..2150b996f058d 100644 --- a/core/src/main/scala/org/apache/spark/scheduler/cluster/StandaloneSchedulerBackend.scala +++ b/core/src/main/scala/org/apache/spark/scheduler/cluster/StandaloneSchedulerBackend.scala @@ -18,7 +18,7 @@ package org.apache.spark.scheduler.cluster import java.util.Locale -import java.util.concurrent.{Semaphore, TimeUnit} +import java.util.concurrent.{RejectedExecutionException, Semaphore, TimeUnit} import java.util.concurrent.atomic.AtomicBoolean import scala.concurrent.Future @@ -343,8 +343,14 @@ private[spark] class StandaloneSchedulerBackend( } } } - executorDelayRemoveThread.schedule(removeExecutorTask, - _executorRemoveDelay, TimeUnit.MILLISECONDS) + try { + executorDelayRemoveThread.schedule(removeExecutorTask, + _executorRemoveDelay, TimeUnit.MILLISECONDS) + } catch { + case _: RejectedExecutionException if stopping.get() => + logWarning( + "Skipping onDisconnected RemoveExecutor call because the scheduler is stopping") + } } } }