-
Notifications
You must be signed in to change notification settings - Fork 3k
Closed
Description
We see a failing native Kafka test in our CI. Specifically SaslKafkaConsumerTest.testReception is what is failing. It fails with:
__ ____ __ _____ ___ __ ____ ______
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2025-03-24 17:56:38,277 INFO [io.quarkus] (main) quarkus-integration-test-kafka-sasl 999-SNAPSHOT native (powered by Quarkus 999-SNAPSHOT) started in 0.014s. Listening on: http://0.0.0.0:8081
2025-03-24 17:56:38,278 INFO [io.quarkus] (main) Profile prod activated.
2025-03-24 17:56:38,278 INFO [io.quarkus] (main) Installed features: [cdi, kafka-client, micrometer, resteasy, resteasy-jackson, smallrye-context-propagation, smallrye-health, vertx]
2025-03-24 17:56:38,852 WARN [org.apa.kaf.cli.NetworkClient] (kafka-producer-network-thread | sasl-test-producer) [Producer clientId=sasl-test-producer] The metadata response from the cluster reported a recoverable issue with correlation id 1 : {test-sasl-consumer=LEADER_NOT_AVAILABLE}
2025-03-24 17:56:39,363 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-1) HTTP Request to /sasl failed, error id: 3990457f-faf0-4572-8519-7f6608b00393-1: org.jboss.resteasy.spi.UnhandledException: org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:357)
at org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:205)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:452)
at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invokePropagateNotFound$6(SynchronousDispatcher.java:275)
at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:154)
at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:321)
at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:157)
at org.jboss.resteasy.core.SynchronousDispatcher.invokePropagateNotFound(SynchronousDispatcher.java:260)
at io.quarkus.resteasy.runtime.standalone.RequestDispatcher.service(RequestDispatcher.java:86)
at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler.dispatch(VertxRequestHandler.java:151)
at io.quarkus.resteasy.runtime.standalone.VertxRequestHandler$1.run(VertxRequestHandler.java:97)
at io.quarkus.vertx.core.runtime.VertxCoreRecorder$15.runWith(VertxCoreRecorder.java:638)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2675)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2654)
at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1627)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1594)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base@25-beta/java.lang.Thread.runWith(Thread.java:1460)
at java.base@25-beta/java.lang.Thread.run(Thread.java:1447)
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:832)
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:808)
Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
at org.apache.kafka.clients.consumer.internals.ClassicKafkaConsumer.<init>(ClassicKafkaConsumer.java:270)
at org.apache.kafka.clients.consumer.internals.ConsumerDelegateCreator.create(ConsumerDelegateCreator.java:65)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:600)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:595)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:576)
at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:556)
at io.quarkus.it.kafka.sasl.SaslKafkaEndpoint.createConsumer(SaslKafkaEndpoint.java:66)
at io.quarkus.it.kafka.sasl.SaslKafkaEndpoint.create(SaslKafkaEndpoint.java:35)
at io.quarkus.it.kafka.sasl.SaslKafkaEndpoint_Bean.doCreate(Unknown Source)
at io.quarkus.it.kafka.sasl.SaslKafkaEndpoint_Bean.create(Unknown Source)
at io.quarkus.it.kafka.sasl.SaslKafkaEndpoint_Bean.create(Unknown Source)
at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:119)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:38)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:35)
at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:32)
at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
at io.quarkus.arc.impl.ComputingCacheContextInstances.computeIfAbsent(ComputingCacheContextInstances.java:19)
at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:35)
at io.quarkus.it.kafka.sasl.SaslKafkaEndpoint_Bean.get(Unknown Source)
at io.quarkus.it.kafka.sasl.SaslKafkaEndpoint_Bean.get(Unknown Source)
at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:570)
at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:550)
at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:583)
at io.quarkus.arc.impl.ArcContainerImpl$3.get(ArcContainerImpl.java:337)
at io.quarkus.arc.impl.ArcContainerImpl$3.get(ArcContainerImpl.java:334)
at io.quarkus.resteasy.common.runtime.QuarkusConstructorInjector.construct(QuarkusConstructorInjector.java:52)
at org.jboss.resteasy.plugins.server.resourcefactory.POJOResourceFactory.createResource(POJOResourceFactory.java:64)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:349)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:70)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:429)
... 20 more
Caused by: org.apache.kafka.common.KafkaException: Failed to create new NetworkClient
at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:255)
at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:163)
at org.apache.kafka.clients.consumer.internals.ConsumerUtils.createConsumerNetworkClient(ConsumerUtils.java:90)
at org.apache.kafka.clients.consumer.internals.ClassicKafkaConsumer.<init>(ClassicKafkaConsumer.java:197)
... 49 more
Caused by: org.apache.kafka.common.KafkaException: java.util.MissingResourceException: Can't find bundle for base name sun.security.util.resources.security, locale en_US
at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:187)
at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:193)
at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:82)
at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:120)
at org.apache.kafka.clients.ClientUtils.createNetworkClient(ClientUtils.java:224)
... 52 more
Caused by: java.util.MissingResourceException: Can't find bundle for base name sun.security.util.resources.security, locale en_US
at java.base@25-beta/java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:2012)
at java.base@25-beta/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1664)
at java.base@25-beta/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:122)
at java.base@25-beta/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1529)
at java.base@25-beta/java.util.ResourceBundle.getBundle(ResourceBundle.java:848)
at java.base@25-beta/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1724)
at java.base@25-beta/sun.security.util.ResourcesMgr.getBundle(ResourcesMgr.java:54)
at java.base@25-beta/sun.security.util.ResourcesMgr.getString(ResourcesMgr.java:40)
at java.base@25-beta/javax.security.auth.Subject$SecureSet.add(Subject.java:1037)
at java.base@25-beta/java.util.Collections$SynchronizedCollection.add(Collections.java:2332)
at org.apache.kafka.common.security.plain.PlainLoginModule.initialize(PlainLoginModule.java:40)
at org.apache.kafka.common.security.authenticator.SaslClientCallbackHandler.configure(SaslClientCallbackHandler.java:64)
at org.apache.kafka.common.network.SaslChannelBuilder.configure(SaslChannelBuilder.java:154)
... 56 more
Steps to reproduce
- Get a GraalVM CE build for JDK 25+14. For example download it from our CI here.
- Run the native integration test with quarkus main (revision
3ef5d91380677a3d6c367ad0272fc1942fb9a4cb) forkafka-sasl.
Additional info
Example failure with GraalVM for JDK 25 community is here:
https://github.com/graalvm/mandrel/actions/runs/14029548134/job/39275704990#step:12:909
Seems to also reproduce with a Mandrel for JDK 25+14 local build for me (graal master revision cceca3206c26f1b270db1a84a1a754c5e6951b48).
The native integration test seems to work fine with MANDREL 23.1.7-dev JDK 21.0.7-beta+4-ea.