[
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)