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]

Reply via email to