Luke Cwik created BEAM-2779:
-------------------------------
Summary: PipelineOptions should not serialize data for types on
interfaces which aren't PipelineOptions
Key: BEAM-2779
URL: https://issues.apache.org/jira/browse/BEAM-2779
Project: Beam
Issue Type: Bug
Components: sdk-java-core
Reporter: Luke Cwik
Priority: Minor
PipelineOptions currently serializes information about all getter/setter pairs
on interfaces which don't extend PipelineOptions.
For example:
{code:java}
interface Foo extends PipelineOptions, Bar {
String getFoo();
void setFoo(String value);
}
interface Bar {
String getBar();
void setBar();
}
{code}
The serialization of the above (when both *foo* and *bar* are set) will produce
JSON where we only include display data for *foo* but data for both *foo* and
*bar*. During validation of an interface in *PipelineOptionsFactory*, we should
throw an error if one of the users interfaces doesn't extend *PipelineOptions*
(note that we should ignore the HasDisplayData interface).
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)