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)