Hi Mykhailo, Wow, I really dropped the ball here. I have just looked over your KIP again, and now I see how you don’t need to change every dsl method, only Consumed, Materialized, etc.
I think this would be a good addition. Yuriy has just proposed KIP-616 to fix some other problems with the implicit serdes. I’m wondering if these two kips have any joint opportunities we should consider, or if it’s better to continue to consider them separately. Thanks, John On Wed, Jan 22, 2020, at 16:18, Михаил Ерёменко wrote: > Hi, John! > > Sorry for the late reply. I am not really familiar with this mail list > discussions, so I have not seen your mails. > > Regarding your question: > > I guess what > I'm struggling with is why you actually want to have different key and > serdes for the same type > > I think good example will be (and it is actually what we do in ours > project) using confluent schema registry in conjunction with kafka > streams. Some models can be used as keys as well as values. When we > define schema registry compatible serde, we have to specify is it for > key or not. We can of course create two serdes for the same model, but > in this case implicit semantic will not work because scala doesn’t know > which implicit to pick. And things become even more complicated in case > if you will try to derive your serdes (we derive serdes in ours > project). > > One more thing: > > every method in the streams-scala DSL. > > So far we've just changed > org.apache.kafka.streams.scala.ImplicitConversions and > org.apache.kafka.streams.scala.kstream.Materialized and it works for > us. Also we did introduce default serdes for primitive types. > > Regards, > Mykhailo