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/04/20 21:49:04 UTC

[jira] [Comment Edited] (BEAM-2021) Fix Java's Coder class hierarchy

    [ https://issues.apache.org/jira/browse/BEAM-2021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15977613#comment-15977613 ] 

Luke Cwik edited comment on BEAM-2021 at 4/20/17 9:49 PM:
----------------------------------------------------------

Won't core construction have proto shaded and then shaded proto versions won't align?

byte[]/bytebuffer was with the goal of allowing a user to shade their version of proto in libraries as well.


was (Author: lcwik):
Won't core construction have proto shaded and then shaded proto versions won't align.

byte[]/bytebuffer was with the goal of allowing a user to shade their version of proto in libraries as well.

> Fix Java's Coder class hierarchy
> --------------------------------
>
>                 Key: BEAM-2021
>                 URL: https://issues.apache.org/jira/browse/BEAM-2021
>             Project: Beam
>          Issue Type: Improvement
>          Components: beam-model-runner-api, sdk-java-core
>    Affects Versions: First stable release
>            Reporter: Kenneth Knowles
>            Assignee: Thomas Groh
>
> This is thoroughly out of hand. In the runner API world, there are two paths:
> 1. URN plus component coders plus custom payload (in the form of component coders alongside an SdkFunctionSpec)
> 2. Custom coder (a single URN) and payload is serialized Java. I think this never has component coders.
> The other base classes have now been shown to be extraneous: they favor saving ~3 lines of boilerplate for rarely written code at the cost of readability. Instead they should just be dropped.
> The custom payload is an Any proto in the runner API. But tying the Coder interface to proto would be unfortunate from a design perspective and cannot be done anyhow due to dependency hell.



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