You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Eugene Kirpichov (JIRA)" <ji...@apache.org> on 2017/03/27 20:31:41 UTC

[jira] [Created] (BEAM-1820) Source.getDefaultOutputCoder() should be @Nullable

Eugene Kirpichov created BEAM-1820:
--------------------------------------

             Summary: Source.getDefaultOutputCoder() should be @Nullable
                 Key: BEAM-1820
                 URL: https://issues.apache.org/jira/browse/BEAM-1820
             Project: Beam
          Issue Type: Improvement
          Components: sdk-java-core
            Reporter: Eugene Kirpichov
            Assignee: Davor Bonaci


Source.getDefaultOutputCoder() returns a coder for elements produced by the source.

However, the Source objects are nearly always hidden from the user and instead encapsulated in a transform. Often, an enclosing transform has a better idea of what coder should be used to encode these elements (e.g. a user supplied a Coder to that transform's configuration). In that case, it'd be good if Source.getDefaultOutputCoder() could just return null, and coder would have to be handled by the enclosing transform or perhaps specified on the output of that transform explicitly.

Right now there's a bunch of code in the SDK and runners that assumes Source.getDefaultOutputCoder() returns non-null. That code would need to be fixed to instead use the coder set on the collection produced by Read.from(source).

It all appears pretty easy to fix, so this is a good starter item.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)