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)