I recently started working with kafka streams and I noticed some odd behavior.
I was using a KTable left join with a null key, and ofcourse this will not work, since it will join based on keys. But I also supplied a KeyValueMapper, which takes a property from the value and returns this as key, and uses this value to join. It turns out that in the code, it firsts checks if there is a null key, and if so, it skips. Would it be more logical to check the result of the keyMapper for null instead of the actual key? https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/kstream/internals/KStreamKTableJoinProcessor.java Kind regards Ties