aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/scala/org/apache/spark/SparkContext.scala50
1 files changed, 37 insertions, 13 deletions
diff --git a/core/src/main/scala/org/apache/spark/SparkContext.scala b/core/src/main/scala/org/apache/spark/SparkContext.scala
index ac6ac6c216..2d8aa25d81 100644
--- a/core/src/main/scala/org/apache/spark/SparkContext.scala
+++ b/core/src/main/scala/org/apache/spark/SparkContext.scala
@@ -1689,33 +1689,57 @@ class SparkContext(config: SparkConf) extends Logging with ExecutorAllocationCli
Utils.removeShutdownHook(_shutdownHookRef)
}
- postApplicationEnd()
- _ui.foreach(_.stop())
+ Utils.tryLogNonFatalError {
+ postApplicationEnd()
+ }
+ Utils.tryLogNonFatalError {
+ _ui.foreach(_.stop())
+ }
if (env != null) {
- env.metricsSystem.report()
+ Utils.tryLogNonFatalError {
+ env.metricsSystem.report()
+ }
}
if (metadataCleaner != null) {
- metadataCleaner.cancel()
+ Utils.tryLogNonFatalError {
+ metadataCleaner.cancel()
+ }
+ }
+ Utils.tryLogNonFatalError {
+ _cleaner.foreach(_.stop())
+ }
+ Utils.tryLogNonFatalError {
+ _executorAllocationManager.foreach(_.stop())
}
- _cleaner.foreach(_.stop())
- _executorAllocationManager.foreach(_.stop())
if (_dagScheduler != null) {
- _dagScheduler.stop()
+ Utils.tryLogNonFatalError {
+ _dagScheduler.stop()
+ }
_dagScheduler = null
}
if (_listenerBusStarted) {
- listenerBus.stop()
- _listenerBusStarted = false
+ Utils.tryLogNonFatalError {
+ listenerBus.stop()
+ _listenerBusStarted = false
+ }
+ }
+ Utils.tryLogNonFatalError {
+ _eventLogger.foreach(_.stop())
}
- _eventLogger.foreach(_.stop())
if (env != null && _heartbeatReceiver != null) {
- env.rpcEnv.stop(_heartbeatReceiver)
+ Utils.tryLogNonFatalError {
+ env.rpcEnv.stop(_heartbeatReceiver)
+ }
+ }
+ Utils.tryLogNonFatalError {
+ _progressBar.foreach(_.stop())
}
- _progressBar.foreach(_.stop())
_taskScheduler = null
// TODO: Cache.stop()?
if (_env != null) {
- _env.stop()
+ Utils.tryLogNonFatalError {
+ _env.stop()
+ }
SparkEnv.set(null)
}
SparkContext.clearActiveContext()