Skip to content

Commit 8e9a600

Browse files
naveenminchuAndrew Or
authored andcommitted
[SPARK-9886][CORE] Fix to use ShutdownHookManager in
ExternalBlockStore.scala Author: Naveen <[email protected]> Closes #10313 from naveenminchu/branch-fix-SPARK-9886. (cherry picked from commit 8a215d2) Signed-off-by: Andrew Or <[email protected]>
1 parent 2c324d3 commit 8e9a600

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

core/src/main/scala/org/apache/spark/storage/ExternalBlockStore.scala

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import java.nio.ByteBuffer
2222
import scala.util.control.NonFatal
2323

2424
import org.apache.spark.Logging
25-
import org.apache.spark.util.Utils
25+
import org.apache.spark.util.{ShutdownHookManager, Utils}
2626

2727

2828
/**
@@ -177,15 +177,6 @@ private[spark] class ExternalBlockStore(blockManager: BlockManager, executorId:
177177
}
178178
}
179179

180-
private def addShutdownHook() {
181-
Runtime.getRuntime.addShutdownHook(new Thread("ExternalBlockStore shutdown hook") {
182-
override def run(): Unit = Utils.logUncaughtExceptions {
183-
logDebug("Shutdown hook called")
184-
externalBlockManager.map(_.shutdown())
185-
}
186-
})
187-
}
188-
189180
// Create concrete block manager and fall back to Tachyon by default for backward compatibility.
190181
private def createBlkManager(): Option[ExternalBlockManager] = {
191182
val clsName = blockManager.conf.getOption(ExternalBlockStore.BLOCK_MANAGER_NAME)
@@ -196,7 +187,10 @@ private[spark] class ExternalBlockStore(blockManager: BlockManager, executorId:
196187
.newInstance()
197188
.asInstanceOf[ExternalBlockManager]
198189
instance.init(blockManager, executorId)
199-
addShutdownHook();
190+
ShutdownHookManager.addShutdownHook { () =>
191+
logDebug("Shutdown hook called")
192+
externalBlockManager.map(_.shutdown())
193+
}
200194
Some(instance)
201195
} catch {
202196
case NonFatal(t) =>

0 commit comments

Comments
 (0)