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)

Reply via email to