[
https://issues.apache.org/jira/browse/BEAM-10760?focusedWorklogId=477813&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-477813
]
ASF GitHub Bot logged work on BEAM-10760:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 02/Sep/20 11:46
Start Date: 02/Sep/20 11:46
Worklog Time Spent: 10m
Work Description: mxm commented on a change in pull request #12733:
URL: https://github.com/apache/beam/pull/12733#discussion_r481938984
##########
File path:
runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperator.java
##########
@@ -592,12 +593,35 @@ public long applyOutputWatermarkHold(long
currentOutputWatermark, long potential
return currentOutputWatermark;
}
} else {
+ // Check if the final watermark was triggered to perform state cleanup
for global window
+ if (potentialOutputWatermark >
BoundedWindow.TIMESTAMP_MAX_VALUE.getMillis()
+ && currentOutputWatermark <=
BoundedWindow.TIMESTAMP_MAX_VALUE.getMillis()) {
+ cleanupGlobalWindowState();
+ }
Review comment:
This logic should be moved to `DoFnOperator#emitWatermark`. It can then
also be simplified.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 477813)
Time Spent: 1.5h (was: 1h 20m)
> Cleanup timers lead to unbounded state accumulation in global window
> --------------------------------------------------------------------
>
> Key: BEAM-10760
> URL: https://issues.apache.org/jira/browse/BEAM-10760
> Project: Beam
> Issue Type: Bug
> Components: runner-core, runner-flink
> Affects Versions: 2.21.0
> Reporter: Thomas Weise
> Assignee: Thomas Weise
> Priority: P2
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> For each key, the runner sets a cleanup timer that is designed to garbage
> collect state at the end of a window. For a global window, these timers will
> stay around until the pipeline terminates. Depending on the key cardinality,
> this can lead to unbounded state growth, which in the case of the Flink
> runner is observable in the growth of checkpoint size.
> https://lists.apache.org/thread.html/rae268806035688b77646195505e5b7a56568a38feb1e52d6341feedd%40%3Cdev.beam.apache.org%3E
--
This message was sent by Atlassian Jira
(v8.3.4#803005)