Matthias J. Sax created KAFKA-20823:
---------------------------------------

             Summary: Relax null-value restriction in Kafka Streams joins
                 Key: KAFKA-20823
                 URL: https://issues.apache.org/jira/browse/KAFKA-20823
             Project: Kafka
          Issue Type: Improvement
          Components: streams
            Reporter: Matthias J. Sax


Historically, Kafka Streams DSL treats `null` keys or values as malformed data 
in certain cases, and this is still the right thing to do for many operators.

With KIP-962 
([https://cwiki.apache.org/confluence/spaces/KAFKA/pages/263426175/KIP-962+Relax+non-null+key+requirement+in+Kafka+Streams])
 we lifted some constraints for case in which it does make sense for null-keys.

I believe, we could lift even more restrictions for null-values in KStreams and 
leftJoins (at least left-stream-table joins – not sure about left/outer 
stream-stream join – we want to avoid ambiguity of `null` with could also mean 
"record does not exist" what is semantically different to "record exists but 
has null-value").

If the left (ie, KStream record) value is null, we could still produce a 
left-join result (it's an open question if we would call the KeyValueMapper for 
stream-globalTable case or not for this case – note, that for 
stream-globalTable join, we already allow KeyValueMapper to also return null, 
and produce a leftJoin result for this case – this is the exact same line of 
thinking).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to