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

ASF GitHub Bot commented on BEAM-2021:
--------------------------------------

GitHub user tgroh opened a pull request:

    https://github.com/apache/beam/pull/2914

    [BEAM-2021] Convert Coder into an Abstract Static Class

    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
     - [ ] Make sure the PR title is formatted like:
       `[BEAM-<Jira issue #>] Description of pull request`
     - [ ] Make sure tests pass via `mvn clean verify`.
     - [ ] Replace `<Jira issue #>` in the title with the actual Jira issue
           number, if there is one.
     - [ ] If this contribution is large, please file an Apache
           [Individual Contributor License 
Agreement](https://www.apache.org/licenses/icla.pdf).
    
    ---


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/tgroh/beam coder_abstract_class

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/beam/pull/2914.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #2914
    
----
commit 518335c0245a00f3740440aba074f66cf6f448d5
Author: Thomas Groh <[email protected]>
Date:   2017-05-05T16:20:10Z

    Convert Coder into an Abstract Static Class

----


> 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
>              Labels: backward-incompatible
>             Fix For: First stable release
>
>
> 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)

Reply via email to