[ 
https://issues.apache.org/jira/browse/BEAM-4778?focusedWorklogId=126756&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-126756
 ]

ASF GitHub Bot logged work on BEAM-4778:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 24/Jul/18 17:36
            Start Date: 24/Jul/18 17:36
    Worklog Time Spent: 10m 
      Work Description: angoenka commented on a change in pull request #5958: 
[BEAM-4778] add option to flink job server to clean staged artifacts per-job
URL: https://github.com/apache/beam/pull/5958#discussion_r204844344
 
 

 ##########
 File path: 
runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkJobServerDriver.java
 ##########
 @@ -139,6 +145,10 @@ private InMemoryJobService createJobService() throws 
IOException {
             throw new RuntimeException(exn);
           }
         },
+        configuration.cleanArtifactsPerJob ?
+            (String stagingSessionToken) ->
+                
artifactStagingService.getService().removeArtifacts(stagingSessionToken)
+            : null,
 
 Review comment:
   This will throw NullPointer on accept call if 
configuration.cleanArtifactsPerJob is false.
   
   I was suggesting: 
   ```
   (String stagingSessionToken) -> if(configuration.cleanArtifactsPerJob) 
artifactStagingService.getService().removeArtifacts(stagingSessionToken)
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 126756)
    Time Spent: 3h 40m  (was: 3.5h)

> Less wasteful ArtifactStagingService
> ------------------------------------
>
>                 Key: BEAM-4778
>                 URL: https://issues.apache.org/jira/browse/BEAM-4778
>             Project: Beam
>          Issue Type: Bug
>          Components: runner-core
>            Reporter: Eugene Kirpichov
>            Assignee: Ryan Williams
>            Priority: Major
>          Time Spent: 3h 40m
>  Remaining Estimate: 0h
>
> [https://github.com/apache/beam/blob/master/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/artifact/BeamFileSystemArtifactStagingService.java]
>  is the main implementation of ArtifactStagingService.
> It stages artifacts into a directory; and in practice the passed staging 
> session token is such that the directory is different for every job. This 
> leads to 2 issues:
>  * It doesn't get cleaned up when the job finishes or even when the 
> JobService shuts down, so we have disk space leaks if running a lot of jobs 
> (e.g. a suite of ValidatesRunner tests)
>  * We repeatedly re-stage the same artifacts. Instead, ideally, we should 
> identify that some artifacts don't need to be staged - based on knowing their 
> md5. The artifact staging protocol has rudimentary support for this but may 
> need to be modified.
> CC: [~angoenka]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to