Hi, All:
I have upgraded my Kafka cluster from 0.10.2 to 1.1 recently. After rolling
upgrade, the broker version related configuration is :
inter.broker.protocol.version = 1.1
log.message.format.version = 0.10.2
I keep the log message format as low version because not all clients could
upgrade in a short time.
When i test Kafka stream EOS feature, get the ERROR log:
[ERROR][StreamThread]: stream-thread [xxx-b0b080fb-StreamThread-2] Failed to
close task manager due to the following error:
org.apache.kafka.common.KafkaException: Cannot execute transactional method
because we are in an error state
at
org.apache.kafka.clients.producer.internals.TransactionManager.maybeFailWithError(TransactionManager.java:784)
at
org.apache.kafka.clients.producer.internals.TransactionManager.beginAbort(TransactionManager.java:229)
at
org.apache.kafka.clients.producer.KafkaProducer.abortTransaction(KafkaProducer.java:660)
at
org.apache.kafka.streams.processor.internals.StreamTask.closeSuspended(StreamTask.java:486)
at
org.apache.kafka.streams.processor.internals.StreamTask.close(StreamTask.java:546)
at
org.apache.kafka.streams.processor.internals.AssignedTasks.close(AssignedTasks.java:405)
at
org.apache.kafka.streams.processor.internals.TaskManager.shutdown(TaskManager.java:260)
at
org.apache.kafka.streams.processor.internals.StreamThread.completeShutdown(StreamThread.java:1107)
at
org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:731)
Caused by: org.apache.kafka.common.errors.UnsupportedForMessageFormatException:
The message format version on the broker does not support the request.
So my question is :
1) Can I use Kafka stream EOS when the log.message.format.version < 0.11
2) How to set internal topic message format(created by Kafka stream) ? I
couldn’t find in Kafka Streams Configs
3) What the performance impact if set log.message.format.version = 1.1 when
some clients’ version is still 0.10.2
(trigger message format transforming on broker side?)
Thank you!