You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Matthias J. Sax (Jira)" <ji...@apache.org> on 2021/10/13 21:51:00 UTC

[jira] [Updated] (KAFKA-12909) Allow users to opt-into spurious left/outer stream-stream join improvement

     [ https://issues.apache.org/jira/browse/KAFKA-12909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthias J. Sax updated KAFKA-12909:
------------------------------------
    Fix Version/s:     (was: 3.0.0)
                   3.1.0

> Allow users to opt-into spurious left/outer stream-stream join improvement
> --------------------------------------------------------------------------
>
>                 Key: KAFKA-12909
>                 URL: https://issues.apache.org/jira/browse/KAFKA-12909
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Matthias J. Sax
>            Assignee: Matthias J. Sax
>            Priority: Blocker
>             Fix For: 3.1.0
>
>
> https://issues.apache.org/jira/browse/KAFKA-10847 improves left/outer stream-stream join, by not emitting left/outer results eagerly, but only after the grace period passed.
> While this change is desired, there is an issue with regard to upgrades: if users don't specify a grace period, we fall back to a 24h default. Thus, left/outer join results would only be emitted 24h after the join window end. This change in behavior could break existing applications when upgrading to 3.0.0 release. – And even if users do set a grace period explicitly, it's still unclear if the new delayed output behavior would work for them.
> Thus, we propose to disable the fix of KAFAK-10847 by default, and let user opt-into the fix explicitly instead.
> To allow users to enable the fix, we want to piggy-back on KIP-633 (https://issues.apache.org/jira/browse/KAFKA-8613) that deprecated the existing `JoinWindows.of()` and `JoinWindows#grace()` methods in favor of `JoinWindows.ofSizeAndGrace()` – if users don't update their code, we would keep the fix disabled, and thus, if users upgrade their app nothing changes. Only if users switch to the new `ofSizeAndGrace()` API, we enable the fix and thus give users the opportunity to opt-in expliclity and pick an appropriate grace period for their application.



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