Minbo Bae created BEAM-10241:
--------------------------------

             Summary: Dataflow template sharing temp directory in FileBasedSink 
which may cause a job deleting temp files generated by another job
                 Key: BEAM-10241
                 URL: https://issues.apache.org/jira/browse/BEAM-10241
             Project: Beam
          Issue Type: Bug
          Components: io-java-gcp
            Reporter: Minbo Bae


The temp directory in FileBasedSink consists of  output + ".temp-beam-" + 
[UUID.randomUUID()|[https://github.com/apache/beam/blob/v2.14.0/sdks/java/core/src/main/java/org/apache/beam/sdk/io/FileBasedSink.java#L521]].

By the way, the part of  ".temp-beam-" + UUID.randomUUID()" is fixed when the 
pipeline is uploaded as Dataflow template, and all the jobs created from the 
Dataflow template use the same temp_directory, if their output directories are 
the same.

This may cause a job deletes temp files generated by another job when the 
outputs of concurrent template jobs have the same directory (e.g. 
gs://df-job/output/job1.out and gs://df-job/output/job2.out)  

It looks like 
[BigQueryIO|[https://github.com/apache/beam/blob/v2.22.0/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.java#L1075-L1163]]
 creates a BQ job id at execution time in the case of Dataflow template. Can we 
make a similar fix for FileBasedSink? 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to