Github user aarondav commented on a diff in the pull request:

    https://github.com/apache/spark/pull/2609#discussion_r18362661
  
    --- Diff: core/src/main/scala/org/apache/spark/deploy/worker/Worker.scala 
---
    @@ -202,9 +205,20 @@ private[spark] class Worker(
           // Spin up a separate thread (in a future) to do the dir cleanup; 
don't tie up worker actor
           val cleanupFuture = concurrent.future {
             logInfo("Cleaning up oldest application directories in " + workDir 
+ " ...")
    -        Utils.findOldFiles(workDir, APP_DATA_RETENTION_SECS)
    -          .foreach(Utils.deleteRecursively)
    +        val appDirs = workDir.listFiles()
    +        if (appDirs == null) {
    +          throw new IOException("ERROR: Failed to list files in " + 
appDirs)
    +        }
    +        appDirs.filter { dir =>
    +          // the directory is used by an application - check that the 
application is not running
    +          // when cleaning up
    +          val appIdFromDir = dir.getName
    +          val isAppStillRunning = 
executors.values.map(_.appId).contains(appIdFromDir)
    +          dir.isDirectory && !isAppStillRunning &&
    +          !Utils.doesDirectoryContainAnyNewFiles(dir, 
APP_DATA_RETENTION_SECS)
    +        }.foreach(Utils.deleteRecursively)
    --- End diff --
    
    Let's add a logInfo here that we're cleaning up a particular directory 
right before the deleteRecursively.


---
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