Class KafkaKeySerializer

java.lang.Object
com.linkedin.venice.serialization.KafkaKeySerializer
All Implemented Interfaces:
VeniceKafkaSerializer<KafkaKey>, Closeable, AutoCloseable, org.apache.kafka.common.serialization.Deserializer<KafkaKey>, org.apache.kafka.common.serialization.Serializer<KafkaKey>

public class KafkaKeySerializer extends Object implements VeniceKafkaSerializer<KafkaKey>
VeniceKafkaSerializer to encode/decode KafkaKey for Venice customized kafka message Used by Kafka to convert to/from byte arrays. KafkaKey Schema (in order) - Key header byte - Either 0 (PUT or DELETE), or 2 (CONTROL_MESSAGE) - Payload (Key Object)
  • Constructor Details

    • KafkaKeySerializer

      public KafkaKeySerializer()
  • Method Details

    • deserialize

      public KafkaKey deserialize(String topic, byte[] bytes)
      Description copied from interface: VeniceKafkaSerializer
      Create an object from an array of bytes
      Specified by:
      deserialize in interface org.apache.kafka.common.serialization.Deserializer<KafkaKey>
      Specified by:
      deserialize in interface VeniceKafkaSerializer<KafkaKey>
      Parameters:
      topic - Topic to which the array of bytes belongs.
      bytes - An array of bytes with the objects data
      Returns:
      A java object serialzed from the bytes
    • serialize

      public byte[] serialize(String topic, KafkaKey kafkaKey)
      Description copied from interface: VeniceKafkaSerializer
      Construct an array of bytes from the given object
      Specified by:
      serialize in interface org.apache.kafka.common.serialization.Serializer<KafkaKey>
      Specified by:
      serialize in interface VeniceKafkaSerializer<KafkaKey>
      Parameters:
      topic - Topic to which the object belongs.
      kafkaKey - The object
      Returns:
      The bytes taken from the object
    • configure

      public void configure(Map<String,?> configMap, boolean isKey)
      Description copied from interface: VeniceKafkaSerializer
      Configure this class.
      Specified by:
      configure in interface org.apache.kafka.common.serialization.Deserializer<KafkaKey>
      Specified by:
      configure in interface org.apache.kafka.common.serialization.Serializer<KafkaKey>
      Specified by:
      configure in interface VeniceKafkaSerializer<KafkaKey>
      Parameters:
      configMap - configs in key/value pairs
      isKey - whether is for key or value
    • close

      public void close()
      Description copied from interface: VeniceKafkaSerializer
      Close this serializer. This method has to be idempotent if the serializer is used in KafkaProducer because it might be called multiple times.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface org.apache.kafka.common.serialization.Deserializer<KafkaKey>
      Specified by:
      close in interface org.apache.kafka.common.serialization.Serializer<KafkaKey>
      Specified by:
      close in interface VeniceKafkaSerializer<KafkaKey>