You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Guozhang Wang (JIRA)" <ji...@apache.org> on 2016/09/20 00:14:21 UTC
[jira] [Resolved] (KAFKA-4153) Incorrect KStream-KStream join
behavior with asymmetric time window
[ https://issues.apache.org/jira/browse/KAFKA-4153?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guozhang Wang resolved KAFKA-4153.
----------------------------------
Resolution: Fixed
Fix Version/s: 0.10.1.0
Issue resolved by pull request 1846
[https://github.com/apache/kafka/pull/1846]
> Incorrect KStream-KStream join behavior with asymmetric time window
> -------------------------------------------------------------------
>
> Key: KAFKA-4153
> URL: https://issues.apache.org/jira/browse/KAFKA-4153
> Project: Kafka
> Issue Type: Bug
> Components: streams
> Affects Versions: 0.10.0.1
> Reporter: Elias Levy
> Assignee: Guozhang Wang
> Fix For: 0.10.1.0
>
>
> Using Kafka 0.10.0.1, if joining records in two streams separated by some time, but only when records from one stream are newer than records from the other, i.e. doing:
> {{stream1.join(stream2, valueJoiner, JoinWindows.of("X").after(10000))}}
> One would expect that the following would be equivalent:
> {{stream2.join(stream1, valueJoiner, JoinWindows.of("X").before(10000))}}
> Alas, that this is not the case. Instead, this generates the same output as the first example:
> {{stream2.join(stream1, valueJoiner, JoinWindows.of("X").after(10000))}}
> The problem is that the [{{DefaultJoin}}|https://github.com/apache/kafka/blob/caa9bd0fcd2fab4758791408e2b145532153910e/streams/src/main/java/org/apache/kafka/streams/kstream/internals/KStreamImpl.java#L692-L697] implementation in {{KStreamImpl}} fails to reverse the {{before}} and {{after}} values when creates the {{KStreamKStreamJoin}} for the other stream, even though is calls {{reverseJoiner}} to reverse the joiner.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)