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

Reply via email to