Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NoSuchMethodException: org.apache.kafka.clients.consumer.RangeAssignor.<init>() #873

Open
ivangfr opened this issue Sep 19, 2023 · 0 comments

Comments

@ivangfr
Copy link

ivangfr commented Sep 19, 2023

Expected Behavior

The Docker native image should work was in version 3.

Actual Behaviour

Hi, I've upgraded recently my Micronaut apps from 3.9.4 to 4.1.1. For the app called micronaut-kafka-consumer, I am getting the following exception when trying to run the Docker native image.

ERROR io.micronaut.runtime.Micronaut - Error starting Micronaut server: Error instantiating bean of type [org.apache.kafka.clients.consumer.Consumer]: Failed to construct kafka consumer
io.micronaut.context.exceptions.BeanInstantiationException: Error instantiating bean of type [org.apache.kafka.clients.consumer.Consumer]: Failed to construct kafka consumer
	at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2324)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2277)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1074)
	at io.micronaut.context.DefaultBeanContext.createBean(DefaultBeanContext.java:1054)
	at io.micronaut.context.BeanContext.createBean(BeanContext.java:157)
	at io.micronaut.configuration.kafka.processor.KafkaConsumerProcessor.submitConsumerThread(KafkaConsumerProcessor.java:446)
	at io.micronaut.configuration.kafka.processor.KafkaConsumerProcessor.submitConsumerThreads(KafkaConsumerProcessor.java:434)
	at io.micronaut.configuration.kafka.processor.KafkaConsumerProcessor.process(KafkaConsumerProcessor.java:325)
	at io.micronaut.context.DefaultBeanContext.lambda$initializeContext$32(DefaultBeanContext.java:2044)
	at java.base@17.0.8/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base@17.0.8/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base@17.0.8/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707)
	at java.base@17.0.8/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base@17.0.8/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base@17.0.8/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base@17.0.8/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base@17.0.8/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base@17.0.8/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at io.micronaut.context.DefaultBeanContext.initializeContext(DefaultBeanContext.java:2018)
	at io.micronaut.context.DefaultApplicationContext.initializeContext(DefaultApplicationContext.java:290)
	at io.micronaut.context.DefaultBeanContext.readAllBeanDefinitionClasses(DefaultBeanContext.java:3340)
	at io.micronaut.context.DefaultBeanContext.finalizeConfiguration(DefaultBeanContext.java:3693)
	at io.micronaut.context.DefaultBeanContext.start(DefaultBeanContext.java:345)
	at io.micronaut.context.DefaultApplicationContext.start(DefaultApplicationContext.java:198)
	at io.micronaut.runtime.Micronaut.start(Micronaut.java:73)
	at io.micronaut.runtime.Micronaut.run(Micronaut.java:322)
	at io.micronaut.runtime.Micronaut.run(Micronaut.java:308)
	at com.ivanfranchin.kafkaconsumer.Application.main(Application.java:8)
Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
	at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:837)
	at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:671)
	at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:652)
	at io.micronaut.configuration.kafka.KafkaConsumerFactory.createConsumer(KafkaConsumerFactory.java:59)
	at io.micronaut.configuration.kafka.$KafkaConsumerFactory$CreateConsumer0$Definition.doInstantiate(Unknown Source)
	at io.micronaut.context.AbstractInitializableBeanDefinition.instantiate(AbstractInitializableBeanDefinition.java:774)
	at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2305)
	... 27 common frames omitted
Caused by: org.apache.kafka.common.KafkaException: Could not find a public no-argument constructor for org.apache.kafka.clients.consumer.RangeAssignor
	at org.apache.kafka.common.utils.Utils.newInstance(Utils.java:398)
	at org.apache.kafka.clients.consumer.ConsumerPartitionAssignor.getAssignorInstances(ConsumerPartitionAssignor.java:305)
	at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:776)
	... 33 common frames omitted
Caused by: java.lang.NoSuchMethodException: org.apache.kafka.clients.consumer.RangeAssignor.<init>()
	at java.base@17.0.8/java.lang.Class.checkMethod(DynamicHub.java:1038)
	at java.base@17.0.8/java.lang.Class.getConstructor0(DynamicHub.java:1204)
	at java.base@17.0.8/java.lang.Class.getDeclaredConstructor(DynamicHub.java:2754)
	at org.apache.kafka.common.utils.Utils.newInstance(Utils.java:396)
	... 35 common frames omitted

Steps To Reproduce

  • git clone https://github.com/ivangfr/graalvm-quarkus-micronaut-springboot.git
  • cd graalvm-quarkus-micronaut-springboot
  • git checkout upgrade-to-micronaut-4
  • cd kafka
  • docker compose up -d zookeeper kafka
  • cd micronaut-kafka/kafka-consumer
  • ./mvnw clean package -Pgraalvm -Dpackaging=docker-native -Djib.to.image=micronaut-kafka-consumer-native:1.0.0
  • docker run --rm --name micronaut-kafka-consumer-native -p 9109:8080 -e MICRONAUT_ENVIRONMENTS=native -e KAFKA_HOST=kafka -e KAFKA_PORT=9092 --network kafka_default micronaut-kafka-consumer-native:1.0.0

Environment Information

  • macOS
  • Java17

Example Application

https://github.com/ivangfr/graalvm-quarkus-micronaut-springboot

Version

4.1.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant