[
https://issues.apache.org/jira/browse/BEAM-2238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17546474#comment-17546474
]
Kenneth Knowles commented on BEAM-2238:
---------------------------------------
This issue has been migrated to https://github.com/apache/beam/issues/18342
> TestPipeline / PipelineOptionsFactory crashes on to unregistered options
> ------------------------------------------------------------------------
>
> Key: BEAM-2238
> URL: https://issues.apache.org/jira/browse/BEAM-2238
> Project: Beam
> Issue Type: Bug
> Components: sdk-java-core
> Reporter: Kenneth Knowles
> Priority: P3
> Labels: Clarified
>
> When {{TestSparkPipelineOptions}} is not registered, this failure occurs on
> all tests using {{TestPipeline}}:
> {code}
> java.lang.IllegalArgumentException: Class interface
> org.apache.beam.sdk.testing.TestPipelineOptions missing a property named
> 'forceStreaming'.
> at
> org.apache.beam.sdk.options.PipelineOptionsFactory.parseObjects(PipelineOptionsFactory.java:1573)
> at
> org.apache.beam.sdk.options.PipelineOptionsFactory.access$400(PipelineOptionsFactory.java:104)
> at
> org.apache.beam.sdk.options.PipelineOptionsFactory$Builder.as(PipelineOptionsFactory.java:289)
> at
> org.apache.beam.sdk.testing.TestPipeline.testingPipelineOptions(TestPipeline.java:403)
> at
> org.apache.beam.sdk.testing.TestPipeline.create(TestPipeline.java:264)
> at
> org.apache.beam.runners.spark.translation.streaming.StreamingSourceMetricsTest.<init>(StreamingSourceMetricsTest.java:49)
> {code}
> However, it is (I believe) our recommended best practice to not register such
> options as they are not intended for users. They should just be "cast" via
> {{as}} by the runner that wants to use them. Further,
> {{TestSparkPipelineOptions}} cannot be registered due to pulling in a
> hamcrest dependency (see BEAM-2237).
> The user doesn't specify this option, and the runner doesn't mutate it. This
> should probably not crash.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)