beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eugene Kirpichov (JIRA)" <>
Subject [jira] [Closed] (BEAM-1820) Source.getDefaultOutputCoder() should be @Nullable
Date Wed, 26 Jul 2017 22:08:00 GMT


Eugene Kirpichov closed BEAM-1820.
       Resolution: Won't Fix
    Fix Version/s: Not applicable

The consensus on dev@ is that instead, PTransform's should always provide a Coder for their
output; and the natural generalization to Source is that sources also always should provide
a Coder for their output; letting the user configure the Source with an explicit Coder if

> Source.getDefaultOutputCoder() should be @Nullable
> --------------------------------------------------
>                 Key: BEAM-1820
>                 URL:
>             Project: Beam
>          Issue Type: Improvement
>          Components: sdk-java-core
>            Reporter: Eugene Kirpichov
>            Assignee: Ɓukasz Gajowy
>              Labels: easyfix, starter
>             Fix For: Not applicable
> 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

View raw message