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)