arkadioz opened a new issue, #31296:
URL: https://github.com/apache/beam/issues/31296

   ### What happened?
   
   According to the documentation 
https://beam.apache.org/releases/javadoc/2.11.0/org/apache/beam/sdk/io/TextIO.html
   
   We can configure the behaviour of the read() method to also allow no matches 
or empty matches, so I configured a pipeline step like this:
   
   ```
   PCollection<KV<String, Incident>> incidents = pipeline.apply("READ CSV", 
TextIO.read().withEmptyMatchTreatment(EmptyMatchTreatment.ALLOW).from("gs://bucket/incidents.csv"))
                   .apply("Convert to bean and output KV Collection", 
ParDo.of(new IncidentCsvToBeanFunction()));
   // The IncidentCsvToBeanFunction is just mapping the csv content to a java 
class.
   ```
   but it still fails to start the pipeline even with this configuration when 
the incidents.csv is not present at the bucket, but when I use
   a wildcard (\*) for example incidents*.csv or *.csv it works even if the 
incidents.csv does not exists, but according to the documentation and what I 
understand is that with the .withEmptyMatchTreatment(EmptyMatchTreatment.ALLOW) 
it should work with just incidents.csv and no wildcards even if the csv is not 
present, so I consider it a bug unless I misunderstood... The error im getting 
on google cloud dataflow logs is:
   ```
   "[The preflight pipeline validation failed for job 
2024-05-14_15_25_49-jobnumbers. To bypass the validation, use the Dataflow 
service option with the value enable_preflight_validation=false. Learn more at 
https://cloud.google.com/dataflow/docs/guides/deploying-a-pipeline#validation] 
NOT_FOUND: Unable to find object incidents.csv in bucket bucket_name.
   ```
   
   What I expect is the same behaviour when I use the wildcard, just continue 
the pipeline and return an empty PCollection, even when the csv is not present 
in the bucket (does not exists).
   
   ### Issue Priority
   
   Priority: 2 (default / most bugs should be filed as P2)
   
   ### Issue Components
   
   - [ ] Component: Python SDK
   - [X] Component: Java SDK
   - [ ] Component: Go SDK
   - [ ] Component: Typescript SDK
   - [ ] Component: IO connector
   - [ ] Component: Beam YAML
   - [ ] Component: Beam examples
   - [ ] Component: Beam playground
   - [ ] Component: Beam katas
   - [ ] Component: Website
   - [ ] Component: Spark Runner
   - [ ] Component: Flink Runner
   - [ ] Component: Samza Runner
   - [ ] Component: Twister2 Runner
   - [ ] Component: Hazelcast Jet Runner
   - [X] Component: Google Cloud Dataflow Runner


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to