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

Add NothingSerde 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

              • Assignee:
                NIzhikov Nikolay Izhikov
                Reporter:
                vvcephei John Roesler
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated: