aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorNaveen <naveenminchu@gmail.com>2015-12-15 18:25:22 -0800
committerAndrew Or <andrew@databricks.com>2015-12-15 18:25:22 -0800
commit8a215d2338c6286253e20122640592f9d69896c8 (patch)
tree11ea43dc9de9665bd5932e74846d22df9e6f4a7f /core
parent63ccdef81329e785807f37b4e918a9247fc70e3c (diff)
downloadspark-8a215d2338c6286253e20122640592f9d69896c8.tar.gz
spark-8a215d2338c6286253e20122640592f9d69896c8.tar.bz2
spark-8a215d2338c6286253e20122640592f9d69896c8.zip
[SPARK-9886][CORE] Fix to use ShutdownHookManager in
ExternalBlockStore.scala Author: Naveen <naveenminchu@gmail.com> Closes #10313 from naveenminchu/branch-fix-SPARK-9886.
Diffstat (limited to 'core')
-rw-r--r--core/src/main/scala/org/apache/spark/storage/ExternalBlockStore.scala16
1 files changed, 5 insertions, 11 deletions
diff --git a/core/src/main/scala/org/apache/spark/storage/ExternalBlockStore.scala b/core/src/main/scala/org/apache/spark/storage/ExternalBlockStore.scala
index db965d54ba..94883a54a7 100644
--- a/core/src/main/scala/org/apache/spark/storage/ExternalBlockStore.scala
+++ b/core/src/main/scala/org/apache/spark/storage/ExternalBlockStore.scala
@@ -22,7 +22,7 @@ import java.nio.ByteBuffer
import scala.util.control.NonFatal
import org.apache.spark.Logging
-import org.apache.spark.util.Utils
+import org.apache.spark.util.{ShutdownHookManager, Utils}
/**
@@ -177,15 +177,6 @@ private[spark] class ExternalBlockStore(blockManager: BlockManager, executorId:
}
}
- private def addShutdownHook() {
- Runtime.getRuntime.addShutdownHook(new Thread("ExternalBlockStore shutdown hook") {
- override def run(): Unit = Utils.logUncaughtExceptions {
- logDebug("Shutdown hook called")
- externalBlockManager.map(_.shutdown())
- }
- })
- }
-
// Create concrete block manager and fall back to Tachyon by default for backward compatibility.
private def createBlkManager(): Option[ExternalBlockManager] = {
val clsName = blockManager.conf.getOption(ExternalBlockStore.BLOCK_MANAGER_NAME)
@@ -196,7 +187,10 @@ private[spark] class ExternalBlockStore(blockManager: BlockManager, executorId:
.newInstance()
.asInstanceOf[ExternalBlockManager]
instance.init(blockManager, executorId)
- addShutdownHook();
+ ShutdownHookManager.addShutdownHook { () =>
+ logDebug("Shutdown hook called")
+ externalBlockManager.map(_.shutdown())
+ }
Some(instance)
} catch {
case NonFatal(t) =>