[
https://issues.apache.org/jira/browse/BEAM-1517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15877903#comment-15877903
]
Aljoscha Krettek commented on BEAM-1517:
----------------------------------------
[~lzljs3620320] We cannot depend on users always cleaning up the state. That's
why we need the GC failsafe to ensure that we don't grow state indefinitely.
[~kenn] I was afraid you might say that and anticipated as much in the
description of the issue. :-( We'll probably add something like a
{{StatefulDoFnRunner}} that registers a GC timer in {{processElement()}} and
does cleanup in {{onTimer()}}.
> Garbage collect user state in Flink Runner
> ------------------------------------------
>
> Key: BEAM-1517
> URL: https://issues.apache.org/jira/browse/BEAM-1517
> Project: Beam
> Issue Type: Bug
> Components: runner-flink
> Reporter: Aljoscha Krettek
> Assignee: Aljoscha Krettek
>
> User facing state/timers in Beam are bound to the key/window of the data.
> Right now, the Flink Runner does not clean up user state when the watermark
> passes the GC horizon for the state associated with a given window.
> Neither {{StateInternals}} nor the Flink state API support discarding state
> for a whole namespace (which is the window in this case) so we might have to
> manually set a GC timer for each window/key combination, as is done in the
> {{ReduceFnRunner}}. For this we have to know all states a user can possibly
> use, which we can get from the {{DoFn}} signature.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)