Hi everyone, I'm upgrading my old Kafka Stream application currently in 2.6. to 3.8.1 version.
But I'm facing a bug where some KStream-GlobalKTable left join doesn't work anymore and instead Drop records, and that's a regression from my 2.6.1 version. What I have is a Kstream With K1,V1 Avro records (Key and value) and I want to leftJoin a GlobalKTable that has K2,V2 Avro records. K2 can be extracted from V1 record (a classic Foreign Key) What I am doing is that I use a KeyValueMapper to map V1 to K2 If I can't build K2 because necessary values in V1 are null, since I can't build K2 (Avro Object) with null values I return null from the mapper and it just do a Left Outer Join and record is not dropped (actual behavior in 2.6). But code introduced in KIP-962 change that, and new behavior in 3.7+ versions is to drop records if mappedKey is null I'm sure that is an unwanted regression since the KIP-692 was supposed to relax non-null requirements ? This regression was fixed in KAFKA-19208, but only in 4.x versions So my question is : Is there any fix planned in 3.x versions ? I initially planned a two way upgrade, first from 2.6 to 3.8.1 (that is the latest version included in actual spring boot version) , and later a migration from 3.8.1 to 4.x, should I directly go to 4.x with that regression ? Thank for your help Sébastien