[ https://issues.apache.org/jira/browse/KAFKA-13641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17489966#comment-17489966 ]
Matthias J. Sax commented on KAFKA-13641: ----------------------------------------- {quote}Hope I didn't come across as rude or imply that I feel these are big flaws. {quote} Not at all! – Contrary. If there is anything we can improve (not matter how small), please let us know and help to fix/improve it! {quote}An example is that for keySerde in Materialized.with, we have an explicit type called KeySerde which sets the Serde isKey property to true for things like avro preventing users to have Materialized.with(serde (with is key = false), serde (with is key = true)) {quote} That is an interesting example. I am wondering though what the gain would be (for this example). One could have (eg) and Integer either as key or value, so just having a IntegerSerde seems ok – if we have a KeyIntererSerde and a ValueIntegerSerde both would just (de)serialize an integer and thus it seems to be redundant/artificial to split it up into two types? The examples about tombstone and Optional for joins is something I agree, too. When Kafka Streams was introduced we still uses Java7 though, and later it was hard (for backward compatibility reasons) to change the API... (just want to give some context). If you have a good idea how we could change the interfaces without "breaking" everything, it would be great! > 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)