[ https://issues.apache.org/jira/browse/KAFKA-13641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17486804#comment-17486804 ]
Mohammad Yousuf Minhaj Zia commented on KAFKA-13641: ---------------------------------------------------- [~mjsax] The backwards compatibility is definitely a problem. One solution would be to maintain two sets of functions one with `ValueJoiner` and one without but that will get hard to maintain over time as well. Maybe there is an abstraction we can abuse to allow both types of `Option` and non-`Option` values in a `ValueJoiner`. I genuinely feel this would improve the safety of the implementations. Also thanks for pointing out that null values are dropped. If that is the case then maybe having `Option` for the specific values of the join will help a lot in making people understand the join semantics just by looking at the signature. > Kafka Streams Scala: Add `Option` to `ValueJoiner` parameters > ------------------------------------------------------------- > > Key: KAFKA-13641 > URL: https://issues.apache.org/jira/browse/KAFKA-13641 > Project: Kafka > Issue Type: Improvement > Components: streams > Reporter: Mohammad Yousuf Minhaj Zia > Priority: Minor > > Since `ValueJoiner` right parameter in `leftJoins`, `outerJoins` can be > nullable, I am wondering if can wrap them around Scala `Option`. > However, there is also the concern that the left hand side value can be null > in the case of tombstone messages, in which the `Option` semantics can be > misleading. I still feel this could be a useful feature in reducing the > number of `NullPointerExceptions`. -- This message was sent by Atlassian Jira (v8.20.1#820001)