[
https://issues.apache.org/jira/browse/BEAM-2021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15982052#comment-15982052
]
ASF GitHub Bot commented on BEAM-2021:
--------------------------------------
GitHub user tgroh opened a pull request:
https://github.com/apache/beam/pull/2668
[BEAM-2021] Make Most StandardCoders CustomCoders
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`. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
- [ ] 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).
---
Standard Coders have a defined serialization format and are understood
within the Runner API, Custom Coders are not. Move existing
"StandardCoders" to extend CustomCoder, and remove custom cloud object
related serialization logic where possible.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/tgroh/beam fewer_standard_coders
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/beam/pull/2668.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 #2668
----
commit 77f416ec28233fd4cae676c604334295ae30a082
Author: Thomas Groh <[email protected]>
Date: 2017-04-20T16:39:12Z
Stop Extending AtomicCoder
commit 6fc50b2bb7e0416bb04b93595248175020185107
Author: Thomas Groh <[email protected]>
Date: 2017-04-22T00:58:51Z
Make Most StandardCoders CustomCoders
Standard Coders have a defined serialization format and are understood
within the Runner API, Custom Coders are not. Move existing
"StandardCoders" to extend CustomCoder, and remove custom cloud object
related serialization logic where possible.
----
> 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
> 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)