[ 
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)

Reply via email to