Kenneth Knowles created BEAM-9337:
-------------------------------------

             Summary: DataflowPipelineJob.waitUntilFinish() crashes when it has 
created a template.
                 Key: BEAM-9337
                 URL: https://issues.apache.org/jira/browse/BEAM-9337
             Project: Beam
          Issue Type: Bug
          Components: runner-dataflow
            Reporter: Kenneth Knowles
            Assignee: Yunqing Zhou


{code:java}
INFO: Template successfully created.

Exception in thread "main" java.lang.UnsupportedOperationException: The result 
of template creation should not be used.
        at 
org.apache.beam.runners.dataflow.util.DataflowTemplateJob.getJobId(DataflowTemplateJob.java:37)
        at 
org.apache.beam.runners.dataflow.DataflowPipelineJob.getJobWithRetries(DataflowPipelineJob.java:524)
        at 
org.apache.beam.runners.dataflow.DataflowPipelineJob.getStateWithRetries(DataflowPipelineJob.java:506)
        at 
org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:295)
        at 
org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:224)
        at 
org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:183)
        at 
org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:176)
{code}

This is a real error. If a template was created, the job is complete. Instead 
of crashing by tried to access the job id, as though {{DataflowPipelineJob}} 
doesn't know it made a template, it should instead return successfully. Or 
perhaps there is another design choice. But just crashes does not make sense. 
Probably {{DataflowRunner}} should not return a {{DataflowPipelineJob}} at all 
in this way.



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

Reply via email to