kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Klukas (JIRA)" <j...@apache.org>
Subject [jira] [Created] (KAFKA-4932) Add UUID Serdes
Date Wed, 22 Mar 2017 14:48:41 GMT
Jeff Klukas created KAFKA-4932:

             Summary: Add UUID Serdes
                 Key: KAFKA-4932
                 URL: https://issues.apache.org/jira/browse/KAFKA-4932
             Project: Kafka
          Issue Type: Improvement
          Components: clients, streams
            Reporter: Jeff Klukas
            Priority: Minor

I propose adding serializers and deserializers for the java.util.UUID class.

I have many use cases where I want to set the key of a Kafka message to be a UUID. Currently,
I need turn UUIDs into strings or byte arrays and use the associated Serdes, but it would
be more convenient to serialize and deserialize UUIDs directly.

I'd propose that the serializer and deserializer use the 36-byte string representation, calling
UUID.toString and UUID.fromString

Optionally, we could also has the deserializer support a 16-byte representation and it would
check size of the input byte array to determine whether it's a binary or string representation
of the UUID. It's not well defined whether the most significant bits or least significant
go first, so this deserializer would have to support only one or the other.

Optionally, there could be two variants of the serializer, a UUIDStringSerializer and a UUIDBytesSerializer.

We would also wrap these in a Serde and modify the Serdes class to include this in the list
of supported types.

I would be willing to write this PR, but am looking for feedback about whether there are significant
concerns here around ambiguity of what the byte representation of a UUID should be, or if
there's desire to keep to list of built-in Serdes minimal such that a PR would be unlikely
to be accepted.

This message was sent by Atlassian JIRA

View raw message