Skip to content

Dataflow region misconfiguration does not throw descriptive error #812

@woop

Description

@woop

Expected Behavior

When misconfiguring Dataflow the user should receive a descriptive exception in order to debug issues, ideally at startup of Feast Core.

Current Behavior

When selecting a region that Dataflow is not supported in, the following exception is thrown

2020-06-19 06:59:34.102 ERROR feast-feast-core-6485d897cd-kbfl7 --- [ool-96-thread-1] f.c.j.d.DataflowJobManager               : Error submitting job                                                                                            
│ java.lang.NullPointerException                                                                                                                                                                                                                   
│     at org.apache.beam.runners.dataflow.DataflowRunner.getJobIdFromName(DataflowRunner.java:1728)                                                                                                                                                
│     at org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:909)                                                                                                                                                              
│     at org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:186)                                                                                                                                                              
│     at org.apache.beam.sdk.Pipeline.run(Pipeline.java:315)                                                                                                                                                                                       
│     at org.apache.beam.sdk.Pipeline.run(Pipeline.java:301)                                                                                                                                                                                       
│     at feast.ingestion.ImportJob.runPipeline(ImportJob.java:172)                                                                                                                                                                                 
│     at feast.core.job.dataflow.DataflowJobManager.runPipeline(DataflowJobManager.java:298)                                                                                                                                                       
│     at feast.core.job.dataflow.DataflowJobManager.submitDataflowJob(DataflowJobManager.java:256)                                                                                                                                                 
│     at feast.core.job.dataflow.DataflowJobManager.updateJob(DataflowJobManager.java:154)                                                                                                                                                         
│     at feast.core.job.JobUpdateTask.updateJob(JobUpdateTask.java:158)                                                                                                                                                                            
│     at feast.core.job.JobUpdateTask.lambda$call$0(JobUpdateTask.java:88)                                                                                                                                                                         
│     at java.base/java.util.concurrent.FutureTask.run(Unknown Source)                                                                                                                                                                             
│     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)                                                                                                                                                               
│     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)                                                                                                                                                              
│     at java.base/java.lang.Thread.run(Unknown Source)

Steps to reproduce

Configure Dataflow to region that it is not supported in.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions