[
https://issues.apache.org/jira/browse/BEAM-12008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]Kenneth Knowles updated BEAM-12008: ----------------------------------- This Jira ticket has a pull request attached to it, but is still open. Did the pull request resolve the issue? If so, could you please mark it resolved? This will help the project have a clear view of its open issues. > KafkaIO does not handle null keys > --------------------------------- > > Key: BEAM-12008 > URL: https://issues.apache.org/jira/browse/BEAM-12008 > Project: Beam > Issue Type: Bug > Components: io-java-kafka > Reporter: Daniel Collins > Priority: P3 > Time Spent: 9h 20m > Remaining Estimate: 0h > > Kafka > [ConsumerRecord|https://kafka.apache.org/27/javadoc/org/apache/kafka/clients/consumer/ConsumerRecord.html#key--] > and > [ProducerRecord|https://kafka.apache.org/27/javadoc/org/apache/kafka/clients/producer/ProducerRecord.html#key--] > 'key' fields are explicitly allowed to be null. In addition, on the producer > side, setting a null key is the way that the user indicates that they want a > [random partition for their > message|[https://github.com/apache/kafka/blob/9adfac280392da0837cfd8d582bc540951e94087/clients/src/main/java/org/apache/kafka/clients/producer/internals/DefaultPartitioner.java#L67].] > > Beam KafkaIO does not support null keys in byte[] mode (read side: > [https://github.com/apache/beam/blob/9e0997760cf3320f1a1d0c4342d3dff559a25775/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaIO.java#L727|https://github.com/apache/beam/blob/9e0997760cf3320f1a1d0c4342d3dff559a25775/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaIO.java#L727)] > write side: > [https://github.com/apache/beam/blob/9e0997760cf3320f1a1d0c4342d3dff559a25775/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaRecordCoder.java#L58]) > > since it would defer to ByteArrayCoder which does not support null arrays. > > BeamKafkaTable suffers the same issue > https://github.com/apache/beam/blob/9e0997760cf3320f1a1d0c4342d3dff559a25775/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/meta/provider/kafka/BeamKafkaTable.java#L144 -- This message was sent by Atlassian Jira (v8.20.1#820001)
