[ 
https://issues.apache.org/jira/browse/BEAM-3525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul Gerver closed BEAM-3525.
-----------------------------
       Resolution: Workaround
    Fix Version/s: Not applicable

PipelineOptions need to be serialized for non-Java SDKs before they get to the 
runner. As such, options that need to be present in the runner should not be 
marked with @JsonIgnore. 

Solution: Remove JsonIgnore annotation from runner configuration options.

> TestPipeline serializes PipelineOptions prematurely
> ---------------------------------------------------
>
>                 Key: BEAM-3525
>                 URL: https://issues.apache.org/jira/browse/BEAM-3525
>             Project: Beam
>          Issue Type: Bug
>          Components: testing
>    Affects Versions: 2.2.0
>            Reporter: Paul Gerver
>            Assignee: Paul Gerver
>            Priority: Minor
>             Fix For: Not applicable
>
>
> The TestPipeline in its run() method now serializes PipelineOptions and adds 
> in TestValueProvider values before submitting the pipeline to run [1].
> This premature serialization can cause options marked with JsonIgnore 
> annotations to be dropped before a runner has had a chance to see those 
> parameters. For example, take the FlinkRunner options, if flinkMaster is 
> marked with JsonIgnore because that information is only needed by the runner 
> submitting the job and is not needed during runtime, tests will be run 
> locally incorrectly instead of against the Flink cluster.
> [1] 
> https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/testing/TestPipeline.java#L354



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to