[ 
https://issues.apache.org/jira/browse/FLINK-3089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16341433#comment-16341433
 ] 

Bowen Li commented on FLINK-3089:
---------------------------------

[~srichter] Right, we should implement it in both backends, and also give users 
a heads-up that TTL's heap implementation would increase their in-memory state 
size and they should consider it in memory capacity planning.

I actually did some research yesterday on how TTL should be implemented in 
memory. What you described is very similar to [how Redis implemented 
TTL|https://redis.io/commands/expire#how-redis-expires-keys], and, of course, 
we need to cater the strategy to Flink.

How about this? Let me summarize all the above discussions and write up a 
google doc, and then we can iterate on the design

> State API Should Support Data Expiration (State TTL)
> ----------------------------------------------------
>
>                 Key: FLINK-3089
>                 URL: https://issues.apache.org/jira/browse/FLINK-3089
>             Project: Flink
>          Issue Type: New Feature
>          Components: DataStream API, State Backends, Checkpointing
>            Reporter: Niels Basjes
>            Assignee: Bowen Li
>            Priority: Major
>
> In some usecases (webanalytics) there is a need to have a state per visitor 
> on a website (i.e. keyBy(sessionid) ).
> At some point the visitor simply leaves and no longer creates new events (so 
> a special 'end of session' event will not occur).
> The only way to determine that a visitor has left is by choosing a timeout, 
> like "After 30 minutes no events we consider the visitor 'gone'".
> Only after this (chosen) timeout has expired should we discard this state.
> In the Trigger part of Windows we can set a timer and close/discard this kind 
> of information. But that introduces the buffering effect of the window (which 
> in some scenarios is unwanted).
> What I would like is to be able to set a timeout on a specific state which I 
> can update afterwards.
> This makes it possible to create a map function that assigns the right value 
> and that discards the state automatically.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to