beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <>
Subject [jira] [Commented] (BEAM-2021) Fix Java's Coder class hierarchy
Date Wed, 26 Apr 2017 22:38:04 GMT


ASF GitHub Bot commented on BEAM-2021:

GitHub user tgroh opened a pull request:

    [BEAM-2021] Remove Coder Encoding IDs

    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](
    These were never safe to use, and will not be used once Coders have been
    migrated to the Runner API representation.

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

    $ git pull remove_encoding_ids

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

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

    This closes #2717
commit ee9005f8aadee1c2beaabfe7089eae949270cafa
Author: Thomas Groh <>
Date:   2017-04-26T22:12:54Z

    Remove Coder Encoding IDs
    These were never safe to use, and will not be used once Coders have been
    migrated to the Runner API representation.


> Fix Java's Coder class hierarchy
> --------------------------------
>                 Key: BEAM-2021
>                 URL:
>             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

This message was sent by Atlassian JIRA

View raw message