[ https://issues.apache.org/jira/browse/BEAM-1336?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15978046#comment-15978046 ]
ASF GitHub Bot commented on BEAM-1336: -------------------------------------- GitHub user kennknowles opened a pull request: https://github.com/apache/beam/pull/2627 [BEAM-1336] Separate StateSpec and KeyedStateSpec Before this change, almost all uses of state had a type variable that existing only to support the esoteric use of a KeyedCombineFn in a state cell. Now those cases use a more verbose form of KeyedStateSpec. 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.pdf). --- You can merge this pull request into a Git repository by running: $ git pull https://github.com/kennknowles/beam StateSpec Alternatively you can review and apply these changes as the patch at: https://github.com/apache/beam/pull/2627.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 #2627 ---- commit c05bda1a5922e18ab29022403f7b9e00f4cea941 Author: Kenneth Knowles <k...@google.com> Date: 2017-04-21T03:46:37Z Separate StateSpec and KeyedStateSpec Before this change, almost all uses of state had a type variable that existing only to support the esoteric use of a KeyedCombineFn in a state cell. Now those cases use a more verbose form of KeyedStateSpec. ---- > A StateSpec that doesn't care about the key shouldn't be forced to declare it > as type Object > -------------------------------------------------------------------------------------------- > > Key: BEAM-1336 > URL: https://issues.apache.org/jira/browse/BEAM-1336 > Project: Beam > Issue Type: Improvement > Components: sdk-java-core > Reporter: Kenneth Knowles > Assignee: Kenneth Knowles > Priority: Minor > Labels: starter > > In the state API as it exists today, if (as is almost often the case) you are > writing a {{StateSpec<K, StateT>}} other than a {{KeyedCombiningState}} the > key type is irrelevant and the user just has to write {{Object}} there. This > was carried over from {{StateTag}} and is an artifact of the visitor pattern > there and the difficulty of getting all the types to line up. > I think simplifying the visitor pattern to be more of just a syntax traversal > might alleviate the issue and allow us to drop this noise from the syntax. -- This message was sent by Atlassian JIRA (v6.3.15#6346)