[ 
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)

Reply via email to