This is an automated email from the ASF dual-hosted git repository.

yhu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new a036a181170 Delete on exit beam-artifact temp file (#29219)
a036a181170 is described below

commit a036a18117059e3fbcc06b7e6fbc2f8c67c74d4e
Author: Yi Hu <ya...@google.com>
AuthorDate: Tue Oct 31 15:51:59 2023 -0400

    Delete on exit beam-artifact temp file (#29219)
---
 .../java/org/apache/beam/runners/core/construction/External.java    | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/External.java
 
b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/External.java
index 534a2b5fe0e..93a1ade474a 100644
--- 
a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/External.java
+++ 
b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/External.java
@@ -19,6 +19,7 @@ package org.apache.beam.runners.core.construction;
 
 import static 
org.apache.beam.vendor.guava.v32_1_2_jre.com.google.common.base.Preconditions.checkArgument;
 
+import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.nio.file.Files;
@@ -391,7 +392,8 @@ public class External {
                       .build())
               .getReplacementsList()) {
         Path path = Files.createTempFile("beam-artifact", "");
-        try (FileOutputStream fout = new FileOutputStream(path.toFile())) {
+        File artifactFile = path.toFile();
+        try (FileOutputStream fout = new FileOutputStream(artifactFile)) {
           for (Iterator<ArtifactApi.GetArtifactResponse> it =
                   retrievalStub.getArtifact(
                       
ArtifactApi.GetArtifactRequest.newBuilder().setArtifact(artifact).build());
@@ -409,6 +411,8 @@ public class External {
                         .build()
                         .toByteString())
                 .build());
+        // Delete beam-artifact temp File on program exit
+        artifactFile.deleteOnExit();
       }
       return resolved;
     }

Reply via email to