[ https://issues.apache.org/jira/browse/KAFKA-10847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17290176#comment-17290176 ]
Matthias J. Sax commented on KAFKA-10847: ----------------------------------------- Thanks for the update! {quote}I still need to know how to get the grace period. {quote} I guess we will need to pass it into the `Processor` when creating it during `Topology` build time. {quote}I do not delete any records when emitted. {quote} I assume you refer to the case when computing left/outer join results? I think we might need to delete though, to ensure we don't produce duplicates (eg, when a rebalance happens). {quote}I don't know if bloom filters are active {quote} They should be active – we enable them by default. > Avoid spurious left/outer join results in stream-stream join > ------------------------------------------------------------- > > Key: KAFKA-10847 > URL: https://issues.apache.org/jira/browse/KAFKA-10847 > Project: Kafka > Issue Type: Improvement > Components: streams > Reporter: Matthias J. Sax > Assignee: Sergio Peña > Priority: Major > > KafkaStreams follows an eager execution model, ie, it never buffers input > records but processes them right away. For left/outer stream-stream join, > this implies that left/outer join result might be emitted before the window > end (or window close) time is reached. Thus, a record what will be an > inner-join result, might produce a eager (and spurious) left/outer join > result. > We should change the implementation of the join, to not emit eager left/outer > join result, but instead delay the emission of such result after the window > grace period passed. -- This message was sent by Atlassian Jira (v8.3.4#803005)