[ 
https://issues.apache.org/jira/browse/KAFKA-4370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15631227#comment-15631227
 ] 

huxi commented on KAFKA-4370:
-----------------------------

yes, compacted topics no longer accept messages without key and an exception is 
thrown by the producer if this is attempted. But as you said, it's better to 
clarify the error message to have it point out this cause explicitly.

> CorruptRecordException when ProducerRecord constructed without key nor 
> partition and send
> -----------------------------------------------------------------------------------------
>
>                 Key: KAFKA-4370
>                 URL: https://issues.apache.org/jira/browse/KAFKA-4370
>             Project: Kafka
>          Issue Type: Bug
>          Components: clients
>    Affects Versions: 0.10.1.0
>            Reporter: Lars Pfannenschmidt
>            Priority: Trivial
>
> According to the JavaDoc of ProducerRecord it should be possible to send 
> messages without a key:
> {quote}
> If neither key nor partition is present a partition will be assigned in a 
> round-robin fashion.
> {quote}
> {code:title=SomeProducer.java|borderStyle=solid}
>         ProducerRecord<String, String> record = new ProducerRecord<>(topic, 
> "somemessage");
>         return this.producer.send(record).get();
> {code}
> Unfortunately an Exception is thrown:
> {code}
> java.util.concurrent.ExecutionException: 
> org.apache.kafka.common.errors.CorruptRecordException: This message has 
> failed its CRC checksum, exceeds the valid size, or is otherwise corrupt.
>       at 
> org.apache.kafka.clients.producer.internals.FutureRecordMetadata.valueOrError(FutureRecordMetadata.java:65)
>       at 
> org.apache.kafka.clients.producer.internals.FutureRecordMetadata.get(FutureRecordMetadata.java:52)
>       at 
> org.apache.kafka.clients.producer.internals.FutureRecordMetadata.get(FutureRecordMetadata.java:25)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to