`java.lang.NoSuchFieldError: DEFAULT_SASL_ENABLED_MECHANISMS` after upgrading `Kafka-clients` from 2.5.0 to 3.0.0
Hi Kafka users,
I start running into the following error after upgrading `Kafka-clients` from 2.5.0 to 3.0.0. And I see the same error with 2.8.1. I don't see a working solution by searching on Google: https://stackoverflow.com/questions/46914225/kafka-cannot-create-embedded-kafka-server <https://stackoverflow.com/questions/46914225/kafka-cannot-create-embedded-kafka-server>
This looks like backward incompatibility of Kafka-clients. Do you happen to know a solution for this?
```
java.lang.NoSuchFieldError: DEFAULT_SASL_ENABLED_MECHANISMS
at kafka.server.Defaults$.<init>(KafkaConfig.scala:242)
at kafka.server.Defaults$.<clinit>(KafkaConfig.scala)
at kafka.server.KafkaConfig$.<init>(KafkaConfig.scala:961)
at kafka.server.KafkaConfig$.<clinit>(KafkaConfig.scala)
at kafka.server.KafkaConfig.LogDirProp(KafkaConfig.scala)
at org.springframework.kafka.test.EmbeddedKafkaBroker.afterPropertiesSet(EmbeddedKafkaBroker.java:298)
at org.springframework.kafka.test.rule.EmbeddedKafkaRule.before(EmbeddedKafkaRule.java:113)
at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:50)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:221)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
```
I got some suggestion that is to upgrade Spring library.
This is the `pom.xml` that defines all my dependencies. I only upgraded the `Kafka-clients` in production: https://github.com/opensearch-project/security/blob/main/pom.xml#L84 <https://github.com/opensearch-project/security/blob/main/pom.xml#L84>
The dependency for test still remains: https://github.com/opensearch-project/security/blob/main/pom.xml#L503 <https://github.com/opensearch-project/security/blob/main/pom.xml#L503>
Is this the Spring library that should be upgraded? https://github.com/opensearch-project/security/blob/main/pom.xml#L495 <https://github.com/opensearch-project/security/blob/main/pom.xml#L495>
But even though I upgraded Spring library to 2.7.7: https://github.com/opensearch-project/security/blob/main/pom.xml#L496 <https://github.com/opensearch-project/security/blob/main/pom.xml#L496> , I got another error:
`java.lang.NoClassDefFoundError: org/apache/kafka/common/record/BufferSupplier`
Any suggestion helping me out this will be highly appreciated!
Thanks,
Bruce
I start running into the following error after upgrading `Kafka-clients` from 2.5.0 to 3.0.0. And I see the same error with 2.8.1. I don't see a working solution by searching on Google: https://stackoverflow.com/questions/46914225/kafka-cannot-create-embedded-kafka-server <https://stackoverflow.com/questions/46914225/kafka-cannot-create-embedded-kafka-server>
This looks like backward incompatibility of Kafka-clients. Do you happen to know a solution for this?
```
java.lang.NoSuchFieldError: DEFAULT_SASL_ENABLED_MECHANISMS
at kafka.server.Defaults$.<init>(KafkaConfig.scala:242)
at kafka.server.Defaults$.<clinit>(KafkaConfig.scala)
at kafka.server.KafkaConfig$.<init>(KafkaConfig.scala:961)
at kafka.server.KafkaConfig$.<clinit>(KafkaConfig.scala)
at kafka.server.KafkaConfig.LogDirProp(KafkaConfig.scala)
at org.springframework.kafka.test.EmbeddedKafkaBroker.afterPropertiesSet(EmbeddedKafkaBroker.java:298)
at org.springframework.kafka.test.rule.EmbeddedKafkaRule.before(EmbeddedKafkaRule.java:113)
at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:50)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:221)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
```
I got some suggestion that is to upgrade Spring library.
This is the `pom.xml` that defines all my dependencies. I only upgraded the `Kafka-clients` in production: https://github.com/opensearch-project/security/blob/main/pom.xml#L84 <https://github.com/opensearch-project/security/blob/main/pom.xml#L84>
The dependency for test still remains: https://github.com/opensearch-project/security/blob/main/pom.xml#L503 <https://github.com/opensearch-project/security/blob/main/pom.xml#L503>
Is this the Spring library that should be upgraded? https://github.com/opensearch-project/security/blob/main/pom.xml#L495 <https://github.com/opensearch-project/security/blob/main/pom.xml#L495>
But even though I upgraded Spring library to 2.7.7: https://github.com/opensearch-project/security/blob/main/pom.xml#L496 <https://github.com/opensearch-project/security/blob/main/pom.xml#L496> , I got another error:
`java.lang.NoClassDefFoundError: org/apache/kafka/common/record/BufferSupplier`
Any suggestion helping me out this will be highly appreciated!
Thanks,
Bruce
Comments
Post a Comment