You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Luke Cwik (JIRA)" <ji...@apache.org> on 2017/08/18 17:40:00 UTC

[jira] [Created] (BEAM-2779) PipelineOptions should not serialize data for types on interfaces which aren't PipelineOptions

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)