Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-8455

Add VoidSerde to Serdes

    XMLWordPrintableJSON

Details

    Description

      Often, when reading an input topic, the key is expected to be null, but there's actually no way to represent this fact in Consumed, leading to confusing type signatures down the topology.

      For example, you might use the BytesSerde, but then you have a KStream<Bytes,...>. When maintaining a large application, this becomes a hazard, since you'd need to "be really careful" not to try and dereference the key at any point, since you actually know it's always null.

      Much better would be to actually represent the fact that the key is null, using the Void type. One such example of this is the NothingSerde I wrote here: https://github.com/confluentinc/kafka-streams-examples/blob/5.2.1-post/src/test/java/io/confluent/examples/streams/IntegrationTestUtils.java#L465

      After some conversations, I've come to believe this would actually be a useful addition to the main Serdes collection.

      Attachments

        Issue Links

          Activity

            People

              nizhikov Nikolay Izhikov
              vvcephei John Roesler
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: