GitHub user kennknowles opened a pull request:
https://github.com/apache/beam/pull/2011
[BEAM-115,BEAM-1348] Unify Fn API and Runner API coder specs
Be sure to do all of the following to help us incorporate your contribution
quickly and easily:
- [x] Make sure the PR title is formatted like:
`[BEAM-<Jira issue #>] Description of pull request`
- [x] Make sure tests pass via `mvn clean verify`. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
- [x] Replace `<Jira issue #>` in the title with the actual Jira issue
number, if there is one.
- [x] If this contribution is large, please file an Apache
[Individual Contributor License
Agreement](https://www.apache.org/licenses/icla.txt).
---
This includes the entirety of #2000, which unified `FunctionSpec`. Feel
free to review that first or, if you prefer, review just this since the diff is
small.
The unification here was uninteresting on top of #2000. Summary of changes:
- Moved a coder's local id out of the `Coder` itself and into the key of a
map in `ProcessBundleDescriptor`. Philosophically, the id is an essential
aspect of `ProcessBundleDescriptor` (or `Pipeline`) but not not an essential
aspect of a coder. Pragmatically, this allows the Runner API and the Fn API to
key the map on different types (`string` and `int64` respectively).
Prospectively, it makes it easy to construct instances of the message that are
"just values" without any id, which is aesthetically pleasing and more flexible
to more uses.
- Inlined the `SdkFunctionSpec` in `Coder` in the Runner API. Having it by
reference introduces a needless sharing of key type and adds needless overhead,
since coders are already stored by reference, as are environments.
R: @dhalperi
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/kennknowles/beam fn-api-coders
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/beam/pull/2011.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 #2011
----
commit 2b55a7f303ab0fea58ad279dd214253b4fe69565
Author: Kenneth Knowles <[email protected]>
Date: 2017-02-14T20:33:43Z
Remove underscore from Runner API proto Java package
commit 4e7865b828eae962532f1759833eed8b0e769cc9
Author: Kenneth Knowles <[email protected]>
Date: 2017-02-13T16:38:40Z
Unify Fn API and Runner API FunctionSpec
commit 5b5e6290e893385c47799cf5523c29be64c102fd
Author: Kenneth Knowles <[email protected]>
Date: 2017-02-15T03:51:58Z
Unify Fn API and Runner API coder spec
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---