diff --git a/core/src/main/scala/org/apache/spark/SparkContext.scala b/core/src/main/scala/org/apache/spark/SparkContext.scala index f101dc8e083f4..e2c6a912bc270 100644 --- a/core/src/main/scala/org/apache/spark/SparkContext.scala +++ b/core/src/main/scala/org/apache/spark/SparkContext.scala @@ -2119,7 +2119,9 @@ class SparkContext(config: SparkConf) extends Logging { Utils.tryLogNonFatalError { _plugins.foreach(_.shutdown()) } - FallbackStorage.cleanUp(_conf, _hadoopConfiguration) + Utils.tryLogNonFatalError { + FallbackStorage.cleanUp(_conf, _hadoopConfiguration) + } Utils.tryLogNonFatalError { _eventLogger.foreach(_.stop()) } diff --git a/core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala b/core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala index 9bd4a6f4478b6..254cb140c89e3 100644 --- a/core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala +++ b/core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala @@ -2813,10 +2813,18 @@ private[spark] class DAGScheduler( } def stop(): Unit = { - messageScheduler.shutdownNow() - shuffleMergeFinalizeScheduler.shutdownNow() - eventProcessLoop.stop() - taskScheduler.stop() + Utils.tryLogNonFatalError { + messageScheduler.shutdownNow() + } + Utils.tryLogNonFatalError { + shuffleMergeFinalizeScheduler.shutdownNow() + } + Utils.tryLogNonFatalError { + eventProcessLoop.stop() + } + Utils.tryLogNonFatalError { + taskScheduler.stop() + } } eventProcessLoop.start() diff --git a/core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala b/core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala index d3e27a94e2944..4a9f75fd87cf3 100644 --- a/core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala +++ b/core/src/main/scala/org/apache/spark/scheduler/TaskSchedulerImpl.scala @@ -971,15 +971,23 @@ private[spark] class TaskSchedulerImpl( } override def stop(): Unit = { - speculationScheduler.shutdown() + Utils.tryLogNonFatalError { + speculationScheduler.shutdown() + } if (backend != null) { - backend.stop() + Utils.tryLogNonFatalError { + backend.stop() + } } if (taskResultGetter != null) { - taskResultGetter.stop() + Utils.tryLogNonFatalError { + taskResultGetter.stop() + } } if (barrierCoordinator != null) { - barrierCoordinator.stop() + Utils.tryLogNonFatalError { + barrierCoordinator.stop() + } } starvationTimer.cancel() abortTimer.cancel()