Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-9337

DataflowPipelineJob.waitUntilFinish() crashes when it has created a template.

Details

    • Bug
    • Status: Open
    • P3
    • Resolution: Unresolved
    • None
    • None
    • runner-dataflow
    • None

    Description

      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)
      

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            kenn Kenneth Knowles
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated: