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

Matthias J. Sax commented on KAFKA-6542:
----------------------------------------

[~cpreisler], it's unfortunately not that easy. In fact, `StreamThread` will 
not process any stream-side records before it goes to state RUNNING. However, 
during processing, the table might get updated at any point in time and if 
there is out-of-order data, a stream-side record might join with incorrect 
table state.

However, the Jira title is miss-leading anyway, because a table update can 
never trigger a join computation anyway, because conceptually the stream side 
is empty. Hence, a join can only happen if a stream-record is processed.

Also note, if there are no out-of-order data, Kafka Streams ensure that the 
table is updated first if the table-record has a smaller timestamp than the 
stream-record (cf KAFKA-3514).

Fixing the out-of-order data issue is a larger and more complex change and 
thus, would even require a KIP.

> Tables should trigger joins too, not just streams
> -------------------------------------------------
>
>                 Key: KAFKA-6542
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6542
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>    Affects Versions: 1.1.0
>            Reporter: Antony Stubbs
>            Priority: Major
>
> At the moment it's quite possible to have a race condition when joining a 
> stream with a table, if the stream event arrives first, before the table 
> event, in which case the join will fail.
> This is also related to bootstrapping KTables (which is what a GKTable does).
> Related to: KAFKA-4113 Allow KTable bootstrap



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

Reply via email to