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

A. Sophie Blee-Goldman commented on KAFKA-12960:
------------------------------------------------

[~mjsax] sounds like the cache itself layer doesn't enforce strict retention 
time, I know the InMemoryWindowStore itself does (because I wrote it) but if we 
blindly grab records from the cache instead of the underlying store and don't 
check retention time in the caching layer, then...

> WindowStore and SessionStore do not enforce strict retention time
> -----------------------------------------------------------------
>
>                 Key: KAFKA-12960
>                 URL: https://issues.apache.org/jira/browse/KAFKA-12960
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Matthias J. Sax
>            Assignee: Sagar Rao
>            Priority: Major
>
> WindowedStore and SessionStore do not implement a strict retention time in 
> general. We should consider to make retention time strict: even if we still 
> have some record in the store (due to the segmented implementation), we might 
> want to filter expired records on-read. This might benefit PAPI users.
> Atm, InMemoryWindow store does already enforce a strict retention time.
> As an alternative, we could also inject such a filter in the wrapping 
> `MeteredStore` – this might lift the burden from users who implement a custom 
> state store.
> As an alternative, we could change all DSL operators to verify if data from a 
> state store is already expired or not. It might be better to push this 
> responsibility into the stores though.
> It's especially an issue for stream-stream joins, because the operator relies 
> on the retention time to implement it's grace period.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to