[
https://issues.apache.org/jira/browse/FLINK-7101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16088576#comment-16088576
]
ASF GitHub Bot commented on FLINK-7101:
---------------------------------------
GitHub user sunjincheng121 opened a pull request:
https://github.com/apache/flink/pull/4348
[FLINK-7101][table] add condition of !stateCleaningEnabled is avoided…
- [x] General
- The pull request references the related JIRA issue ("
[FLINK-7101][table] add condition of !stateCleaningEnabled is avoided
non-grouped window state to be cleaned up too early")
- The pull request addresses only one issue
- Each commit in the PR has a meaningful commit message (including the
JIRA id)
- [ ] Documentation
- Documentation has been added for new functionality
- Old documentation affected by the pull request has been updated
- JavaDoc for public methods has been added
- [ ] Tests & Build
- Functionality added by the pull request is covered by tests
- `mvn clean verify` has been executed successfully locally or a Travis
build has passed
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/sunjincheng121/flink FLINK-7101-PR
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/4348.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 #4348
----
commit 1c006299c8b8a169e346ef776cf9c5f5d7af20e0
Author: sunjincheng121 <[email protected]>
Date: 2017-07-15T11:43:30Z
[FLINK-7101][table] add condition of !stateCleaningEnabled is avoided
non-grouped window state to be cleaned up too early
----
> Fix Non-windowed group-aggregate error when using `minIdleStateRetentionTime`
> config and retract agg
> ----------------------------------------------------------------------------------------------------
>
> Key: FLINK-7101
> URL: https://issues.apache.org/jira/browse/FLINK-7101
> Project: Flink
> Issue Type: Bug
> Components: Table API & SQL
> Affects Versions: 1.3.0, 1.3.1
> Reporter: sunjincheng
> Assignee: sunjincheng
> Fix For: 1.4.0
>
> Attachments: screenshot-1.png
>
>
> When Non-windowed group-aggregate using {{minIdleStateRetentionTime}} config
> and retract AGG, Will emit "NULL" agg value which we do not expect.
> For example: ({{IntSumWithRetractAggFunction}})
> 1. Receive: CRow(Row.of(6L: JLong, 5: JInt, "aaa"), true)
> 2. Cleanup state
> 3. Receive: CRow(Row.of(6L: JLong, 5: JInt, "aaa"), false) // acc.f1 = -1,
> getValue= null
> So, we must change the logic of {{GroupAggProcessFunction}} as follows:
> {code}
> if (inputCnt != 0) {
> ...
> } else {
> ...
> }
> {code}
> TO
> {code}
> if (inputCnt > 0) {
> ...
> } else {
> if( null != prevRow.row){
> ...
> }
> }
> {code}
> In this case, the result will bigger than expected, but i think it's make
> sense, because user want cleanup state.(they should know the impact)
> What do you think? [~fhueske] [~hequn8128]
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)