Hello, Starting a discussion for KIP-466 adding support for List Serde. PR is created under https://github.com/apache/kafka/pull/6592 <https://github.com/apache/kafka/pull/6592>
There are two topics I would like to discuss: 1. Since type for List serve needs to be declared before hand, I could not create a static method for List Serde under org.apache.kafka.common.serialization.Serdes. I addressed it in the KIP: P.S. Static method corresponding to ListSerde under org.apache.kafka.common.serialization.Serdes (something like static public Serde<List<T>> List() {...} inorg.apache.kafka.common.serialization.Serdes) class cannot be added because type needs to be defined beforehand. That's why one needs to create List Serde in the following fashion: new Serdes.ListSerde<String>(Serdes.String(), Comparator.comparing(String::length)); (can possibly be simplified by declaring import static org.apache.kafka.common.serialization.Serdes.ListSerde) 2. @miguno Michael G. Noll <https://github.com/miguno> is questioning whether I need to pass a comparator to ListDeserializer. This certainly is not required. Feel free to add your input: https://github.com/apache/kafka/pull/6592#discussion_r281152067 Thank you! Best, Daniyar Yeralin > On May 6, 2019, at 11:59 AM, Daniyar Yeralin (JIRA) <j...@apache.org> wrote: > > Daniyar Yeralin created KAFKA-8326: > -------------------------------------- > > Summary: Add List<T> Serde > Key: KAFKA-8326 > URL: https://issues.apache.org/jira/browse/KAFKA-8326 > Project: Kafka > Issue Type: Improvement > Components: clients, streams > Reporter: Daniyar Yeralin > > > I propose adding serializers and deserializers for the java.util.List class. > > I have many use cases where I want to set the key of a Kafka message to be a > UUID. Currently, I need to turn UUIDs into strings or byte arrays and use > their associated Serdes, but it would be more convenient to serialize and > deserialize UUIDs directly. > > I believe there are many use cases where one would want to have a List serde. > Ex. > [https://stackoverflow.com/questions/41427174/aggregate-java-objects-in-a-list-with-kafka-streams-dsl-windows], > > [https://stackoverflow.com/questions/46365884/issue-with-arraylist-serde-in-kafka-streams-api] > > > > KIP Link: > [https://cwiki.apache.org/confluence/display/KAFKA/KIP-466%3A+Add+support+for+List%3CT%3E+serialization+and+deserialization] > > > > -- > This message was sent by Atlassian JIRA > (v7.6.3#76005)