Github user srowen commented on a diff in the pull request:
https://github.com/apache/spark/pull/5672#discussion_r29075502
--- Diff:
core/src/main/scala/org/apache/spark/storage/DiskBlockManager.scala ---
@@ -148,7 +148,11 @@ private[spark] class DiskBlockManager(blockManager:
BlockManager, conf: SparkCon
/** Cleanup local dirs and stop shuffle sender. */
private[spark] def stop() {
// Remove the shutdown hook. It causes memory leaks if we leave it
around.
- Utils.removeShutdownHook(shutdownHook)
+ try {
+ Utils.removeShutdownHook(shutdownHook)
--- End diff --
Yes. Asking to remove a hook always races with shutdown, so I suppose code
can never guarantee it's been able to remove a hook before shutdown. It can't
be sure it has successfully removed the hook before it executes. So it doesn't
seem to bad to just try to remove the hook, which might or might not have
executed and discarded already, and return normally either way. That is do you
want to prohibit removal of a hook that hasn't run, even during shutdown? meh,
might be a simpler way to resolve this.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]