0
votes

I have issues to run Spring-Kafka version 1.3.9 with Kafka client 0.10.2.2

The https://spring.io/projects/spring-kafka says that "All users with brokers >= 0.10.x.x (and all spring boot 1.5.x users) are recommended to use spring-kafka version 1.3.x or higher" I have setup in my pom.xml the Spring-Kafka version 1.3.9 and overriding the Kafka client from 0.11.x.x to 0.10.2.2

When I run the instance I have this error:

Caused by: java.lang.NoClassDefFoundError: org/apache/kafka/common/header/Headers at org.springframework.kafka.core.KafkaTemplate.(KafkaTemplate.java:74) ~[spring-kafka-1.3.9.RELEASE.jar:?]

The 0.11.x.x contains the package header. However, the version 0.10.2.2 doesn't. The brokers with version 0.10.x.x aren't compatible with spring-kafka version 1.3.9. And this is the opposite with what the spring-kafka website says. Please, correct me if I'm wrong.

My question is any problem to use the 0.11.xx version instead of 0.10.x.x right? I couldn't see the release notes between the two versions. Btw, my Kafka instance is running on 0.10.x.x version. Thanks

1

1 Answers

0
votes

Please don't ask the same question in multiple places; it's a waste of our time (and yours).

As I said in the GitHub issue...

You should not downgrade the kafka-clients. The 0.11 clients can communicate with the 0.10.x.x broker.

See the Confluent compatibility matrix.

I think the table on the project page is quite clear; it states that spring-kafka 1.3.x is compatible with the 0.11.x.x and 1.0.x.x clients.

For a complete discussion about client/broker compatibility, see the Kafka Compatibility Matrix.

Let me know if we can make it clearer.

Note that while the 0.11 client will work with the 0.10 broker, you obviously can't use 0.11 broker features (such as headers).

0.10.x.x is very old. The current version is 2.2.1 (and 2.3.0 will be out soon). There have been lots of improvements over the years.