Hi,

When producer had sent records which contain header values to broker
servers, brokers did not receive the records and logged this message.

======
[2017-08-03 21:00:01,130] ERROR [Replica Manager on Broker 1]: Error
processing append operation on partition topic-0
(kafka.server.ReplicaManager)
java.lang.IllegalArgumentException: Magic v1 does not support record headers
        at org.apache.kafka.common.record.MemoryRecordsBuilder.
appendWithOffset(MemoryRecordsBuilder.java:385)
        at org.apache.kafka.common.record.MemoryRecordsBuilder.
appendWithOffset(MemoryRecordsBuilder.java:424)
        at org.apache.kafka.common.record.MemoryRecordsBuilder.
appendWithOffset(MemoryRecordsBuilder.java:577)
 ...
======

This error is caused by setting old version (0.10.2 or earlier) at
`log.message.version.format` of broker.
But client was not noticed delivery failure and kept on sending messages.
As a similar case, this error is caused when old consumer try to subscribe
records which contains header value. And brokers do not send record to the
consumer.

How do I make client detect this failure?

I want to handle IllegalArgumentException at client side or make brokers
receive/transfer records as old message style even if header values are
found in record.

Thank you,

Takafumi Saito

Reply via email to