You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Dennis Yung (Jira)" <ji...@apache.org> on 2020/11/24 01:53:00 UTC

[jira] [Created] (BEAM-11331) AwsOptions from sdk.io.aws2 is incompatible with DataflowPipelineOptions

Dennis Yung created BEAM-11331:
----------------------------------

             Summary: AwsOptions from sdk.io.aws2 is incompatible with DataflowPipelineOptions
                 Key: BEAM-11331
                 URL: https://issues.apache.org/jira/browse/BEAM-11331
             Project: Beam
          Issue Type: Bug
          Components: io-java-aws
    Affects Versions: 2.25.0
            Reporter: Dennis Yung
            Assignee: Dennis Yung


When using connectors from the aws2 module, build will fail with 
{code:java}
java.lang.IllegalArgumentException: Expected getter for property [region] to be marked with @Default on all [org.apache.beam.runners.dataflow.options.DataflowPipelineOptions, org.apache.beam.sdk.io.aws2.options.AwsOptions], found only on [org.apache.beam.runners.dataflow.options.DataflowPipelineOptions]
{code}


Example:
{code:java}
package org.example;

import org.apache.beam.sdk.Pipeline;
import org.apache.beam.sdk.io.aws2.sqs.SqsIO;

public class SqsConsume {

  static void runSqsConsume() {
    Pipeline p = Pipeline.create();
    p.apply("ReadLines", SqsIO.read().withQueueUrl("sqs_url"));
    p.run().waitUntilFinish();
  }

  public static void main(String[] args) {
    runSqsConsume();
  }
}
{code}
Exception:

{code:java}
Exception in thread "main" java.lang.ExceptionInInitializerError
	at org.apache.beam.sdk.Pipeline.create(Pipeline.java:141)
	at org.example.SqsConsume.runSqsConsume(SqsConsume.java:37)
	at org.example.SqsConsume.main(SqsConsume.java:49)
Caused by: java.lang.IllegalArgumentException: Expected getter for property [region] to be marked with @Default on all [org.apache.beam.runners.dataflow.options.DataflowPipelineOptions, org.apache.beam.sdk.io.aws2.options.AwsOptions], found only on [org.apache.beam.runners.dataflow.options.DataflowPipelineOptions]
	at org.apache.beam.sdk.options.PipelineOptionsFactory.throwForGettersWithInconsistentAnnotation(PipelineOptionsFactory.java:1340)
	at org.apache.beam.sdk.options.PipelineOptionsFactory.validateGettersHaveConsistentAnnotation(PipelineOptionsFactory.java:1142)
	at org.apache.beam.sdk.options.PipelineOptionsFactory.validateMethodAnnotations(PipelineOptionsFactory.java:1044)
	at org.apache.beam.sdk.options.PipelineOptionsFactory.validateClass(PipelineOptionsFactory.java:973)
	at org.apache.beam.sdk.options.PipelineOptionsFactory.access$2200(PipelineOptionsFactory.java:115)
	at org.apache.beam.sdk.options.PipelineOptionsFactory$Cache.validateWellFormed(PipelineOptionsFactory.java:1901)
	at org.apache.beam.sdk.options.PipelineOptionsFactory$Cache.validateWellFormed(PipelineOptionsFactory.java:1842)
	at org.apache.beam.sdk.options.PipelineOptionsFactory$Cache.register(PipelineOptionsFactory.java:1837)
	at org.apache.beam.sdk.options.PipelineOptionsFactory$Cache.initializeRegistry(PipelineOptionsFactory.java:1825)
	at org.apache.beam.sdk.options.PipelineOptionsFactory$Cache.<init>(PipelineOptionsFactory.java:1817)
	at org.apache.beam.sdk.options.PipelineOptionsFactory$Cache.<init>(PipelineOptionsFactory.java:1786)
	at org.apache.beam.sdk.options.PipelineOptionsFactory.resetCache(PipelineOptionsFactory.java:542)
	at org.apache.beam.sdk.options.PipelineOptionsFactory.<clinit>(PipelineOptionsFactory.java:508)
	... 3 more
{code}






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