GitHub user kennknowles opened a pull request:

    https://github.com/apache/incubator-beam/pull/697

    [BEAM-362] [BEAM-25] Implement GroupAlsoByWindows by directly providing 
StateInternals

    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 PR adds `StateInternalsFactory` which is a map from a key to 
`StateInternals`. Since `GroupAlsoByWindow` is now truly an implementation 
detail of `GroupByKey`(`ViaGroupByKeyOnly`), we can just provide it the state 
access that it needs.
    
    This is a step both in the progress of moving runner implementation details 
out of the SDK and also in providing a better user-facing state API.

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

    $ git pull https://github.com/kennknowles/incubator-beam GABW-stateInternals

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

    https://github.com/apache/incubator-beam/pull/697.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 #697
    
----
commit 04b1ca8e1caf1105e30c90d649c9ba92985684dd
Author: Kenneth Knowles <[email protected]>
Date:   2016-07-18T20:56:22Z

    Introduce StateInternalsFactory
    
    This class vends a StateInternals for a particular key.
    Various DoFns that access StateInternals via ProcessContext
    will be ported to instead accept a StateInternalsFactory.
    
    The StateInternalsFatory must be provided by the runner
    to enable provisioning of the appropriate run-time
    StateInternals.

commit 24d9309f952548edc5b0669306bef2347274e2e8
Author: Kenneth Knowles <[email protected]>
Date:   2016-07-18T21:33:58Z

    Port runners to use GroupAlsoByWindows via StateInternalsFactory

commit 7ebde3816dc021057507229ff736305f0c2956df
Author: Kenneth Knowles <[email protected]>
Date:   2016-07-20T02:16:13Z

    Tidy WriteWithShardingFactory

----


---
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.
---

Reply via email to