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)