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/02/09 19:21:00 UTC
[jira] [Created] (KAFKA-12317) Relax non-null key requirement for
left KStream-KTable join
Matthias J. Sax created KAFKA-12317:
---------------------------------------
Summary: Relax non-null key requirement for left KStream-KTable join
Key: KAFKA-12317
URL: https://issues.apache.org/jira/browse/KAFKA-12317
Project: Kafka
Issue Type: Improvement
Components: streams
Reporter: Matthias J. Sax
Currently, for a stream-table join KafkaStreams drops all stream records with a null-key, because for a null-key the join is undefined: ie, we don't have an attribute the do the table lookup (we consider the stream-record as malformed). Note, that we define the semantics of _left_ join as: keep the stream record if no KTable record was found.
We could relax the definition of _left_ join though, and not drop non-key stream records, and call the ValueJoiner with a `null` table record instead: if the stream record key is `null`, we could treat is as "failed table lookup" instead of treating the stream record as corrupted.
If we make this change, users that want to keep the current behavior, can add a `filter()` before the join to drop `null`-key records from the stream explicitly.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)