You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by kennknowles <gi...@git.apache.org> on 2016/08/05 22:28:04 UTC
[GitHub] incubator-beam pull request #800: [BEAM-498] Add OldDoFn -> DoFn adapter and...
GitHub user kennknowles opened a pull request:
https://github.com/apache/incubator-beam/pull/800
[BEAM-498] Add OldDoFn -> DoFn adapter and expose raw DoFn in ParDo
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`
- [ ] 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).
---
Previously, `ParDo.of(DoFn)` would immediately wrap it into an `OldDoFn` so the new `DoFn` could not be recovered, since
After this change, the new `DoFn` is temporarily available via `#getNewFn()`, which will eventually overwrite `#getFn()`. When `ParDo` is instantiated via `ParDo.of(OldDoFn)`, a wrapper in the reverse direction will create a new `DoFn` that can be accessed via the same method. So a `ParDo` transform temporarily always carries both, just so one need not reason about which is present.
This allows consumers of the `fn` inside a `ParDo` to being porting their logic to unconditionally use `DoFn`.
R: @bjchambers
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/kennknowles/incubator-beam ParDoTest
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-beam/pull/800.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 #800
----
commit 22e629d3ae647b0a32aa8367a0e711e44c7ce31a
Author: Kenneth Knowles <kl...@google.com>
Date: 2016-08-05T22:21:23Z
Add OldDoFn -> DoFn adapter and expose raw DoFn in ParDo
Previously, ParDo.of(DoFn) would immediately wrap it into
an OldDoFn so the new DoFn could not be recovered, since
After this change, the new DoFn is temporarily available
via #getNewFn(), which will eventually overwrite #getFn().
When ParDo is instantiated via ParDo.of(OldDoFn), a wrapper
in the reverse direction will create a new DoFn that can
be accessed via the same method. So a ParDo transform
temporarily always carries both.
----
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] incubator-beam pull request #800: [BEAM-498] Add OldDoFn -> DoFn adapter and...
Posted by kennknowles <gi...@git.apache.org>.
Github user kennknowles closed the pull request at:
https://github.com/apache/incubator-beam/pull/800
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---