[jira] [Commented] (BEAM-2400) Null pointer exception when creating a template
[ https://issues.apache.org/jira/browse/BEAM-2400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16421819#comment-16421819 ] Daniel Salerno de Arruda commented on BEAM-2400: Any official solution? [~Tobi] getTemplateLocation method does not exists... > Null pointer exception when creating a template > --- > > Key: BEAM-2400 > URL: https://issues.apache.org/jira/browse/BEAM-2400 > Project: Beam > Issue Type: Bug > Components: runner-dataflow >Reporter: Melissa Pashniak >Priority: Minor > > The template is successfully created, but is then followed by a null pointer > exception. > Command: > mvn compile exec:java -Dexec.mainClass=com.example.WordCount > -Dexec.args="--runner=DataflowRunner \ > --project=my-project \ > --stagingLocation=gs://my-bucket/staging \ > --output=gs://my-bucket/output/outputfile \ > --templateLocation=gs://my-bucket/templates/mytemplate" > INFO: Template successfully created. > [WARNING] > java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.NullPointerException > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.getJobWithRetries(DataflowPipelineJob.java:489) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.getStateWithRetries(DataflowPipelineJob.java:465) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:304) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:240) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:193) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:186) > at com.example.WordCount.main(WordCount.java:184) > ... 6 more -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (BEAM-2400) Null pointer exception when creating a template
[ https://issues.apache.org/jira/browse/BEAM-2400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16278936#comment-16278936 ] Tobi Vollebregt commented on BEAM-2400: --- My request: change PipelineResult / waitUntilFinish so you can safely call {{p.run().waitUntilFinish()}}, both when staging a template and when running a job. That is, I think it would be nice if {{waitUntilFinish}} is a no-op when staging a template. > Null pointer exception when creating a template > --- > > Key: BEAM-2400 > URL: https://issues.apache.org/jira/browse/BEAM-2400 > Project: Beam > Issue Type: Bug > Components: runner-dataflow >Reporter: Melissa Pashniak >Priority: Minor > > The template is successfully created, but is then followed by a null pointer > exception. > Command: > mvn compile exec:java -Dexec.mainClass=com.example.WordCount > -Dexec.args="--runner=DataflowRunner \ > --project=my-project \ > --stagingLocation=gs://my-bucket/staging \ > --output=gs://my-bucket/output/outputfile \ > --templateLocation=gs://my-bucket/templates/mytemplate" > INFO: Template successfully created. > [WARNING] > java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.NullPointerException > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.getJobWithRetries(DataflowPipelineJob.java:489) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.getStateWithRetries(DataflowPipelineJob.java:465) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:304) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:240) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:193) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:186) > at com.example.WordCount.main(WordCount.java:184) > ... 6 more -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (BEAM-2400) Null pointer exception when creating a template
[ https://issues.apache.org/jira/browse/BEAM-2400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16278934#comment-16278934 ] Tobi Vollebregt commented on BEAM-2400: --- I'm running into this as well. Turns out that when staging a template with the dataflow runner, you cannot call {{PipelineResult.waitForFinish()}}. So if you have the common {{p.run().waitForFinish();}} then your code throws NullPointerException when staging a template. Experimentally I found that even something like this: {code} PipelineResult result = p.run(); if (!result.getState().isTerminal()) { result.waitUntilFinish(); } {code} will throw, but in this case it gives a more meaningful error: {code} Exception in thread "main" java.lang.UnsupportedOperationException: The result of template creation should not be used. {code} The only way I've found that will call {{waitUntilFinish}} when running the pipeline, and not call it when staging a template, is: {code} PipelineResult result = p.run(); if (options.getTemplateLocation() == null) { result.waitUntilFinish(); } {code} > Null pointer exception when creating a template > --- > > Key: BEAM-2400 > URL: https://issues.apache.org/jira/browse/BEAM-2400 > Project: Beam > Issue Type: Bug > Components: runner-dataflow >Reporter: Melissa Pashniak >Priority: Minor > > The template is successfully created, but is then followed by a null pointer > exception. > Command: > mvn compile exec:java -Dexec.mainClass=com.example.WordCount > -Dexec.args="--runner=DataflowRunner \ > --project=my-project \ > --stagingLocation=gs://my-bucket/staging \ > --output=gs://my-bucket/output/outputfile \ > --templateLocation=gs://my-bucket/templates/mytemplate" > INFO: Template successfully created. > [WARNING] > java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.NullPointerException > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.getJobWithRetries(DataflowPipelineJob.java:489) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.getStateWithRetries(DataflowPipelineJob.java:465) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:304) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:240) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:193) > at > org.apache.beam.runners.dataflow.DataflowPipelineJob.waitUntilFinish(DataflowPipelineJob.java:186) > at com.example.WordCount.main(WordCount.java:184) > ... 6 more -- This message was sent by Atlassian JIRA (v6.4.14#64029)