-
Story
-
Resolution: Done
-
Normal
-
None
-
Quality / Stability / Reliability
-
5
-
False
-
-
False
-
None
-
Unset
-
None
-
-
-
The Problem
The native image successfully:
- ✅ Compiles and starts
- ✅ Connects to Kafka brokers
- ✅ Joins the consumer group
- ✅ Subscribes to the topic
But it fails to:
- ❌ Poll messages from Kafka
- ❌ Trigger the @Incoming method
- ❌ Process any messages
This is a known issue with Reactive Messaging in native mode - the polling loop uses dynamic features that GraalVM can't fully optimize.
Most Relevant Issue
https://github.com/quarkusio/quarkus/issues/12150 - This is the exact issue you're experiencing. A user reported that their application with @Incoming annotation worked locally but stopped consuming messages when deployed as a native jar. The logs showed mediators initializing and connecting properly, but messages weren't being processed.
Related Native Image Issues
1. https://github.com/quarkusio/quarkus/issues/44561 - Users reported consumers not polling messages with timeout errors in native mode (November 2024)
2. https://github.com/quarkusio/quarkus/discussions/51079 - Consumer connected successfully but lag increased with zero messages consumed (November 2025)
3. https://github.com/quarkusio/quarkus/issues/7066 - Native image compilation issues with Kafka components
4. https://github.com/quarkusio/quarkus/issues/4683 - Reflection configuration issues for Kafka serializers
5. https://github.com/quarkusio/quarkus/issues/2548 - ClassNotFoundException in native images with reactive messaging
Useful Resources
- https://jeqo.github.io/posts/2022-03-18-kafka-clients-graalvm/ - Technical blog post discussing challenges with Kafka clients in GraalVM native images
- https://mindfulchase.com/explore/troubleshooting-tips/back-end-frameworks/troubleshooting-quarkus-common-issues-and-solutions-for-back-end-development.html - General guidance on native image issues
Key Takeaways
The consensus from these issues is that:
1. Reactive Messaging with Kafka can work in native mode, but requires careful configuration
2. Reflection registration is critical for serializers/deserializers
3. Some users resort to JVM mode for production Kafka consumers
4. The issue often manifests as "silent failures" - consumer connects but doesn't poll
The GitHub issue #12150 is your best starting point for community solutions and workarounds.
Sources:
- https://github.com/quarkusio/quarkus/issues/12150
- https://github.com/quarkusio/quarkus/issues/44561
- https://github.com/quarkusio/quarkus/discussions/51079
- https://github.com/quarkusio/quarkus/issues/7066
- https://github.com/quarkusio/quarkus/issues/4683
- https://jeqo.github.io/posts/2022-03-18-kafka-clients-graalvm/
- is caused by
-
RHCLOUD-44326 Improve Notifications connector memory management
-
- In Progress
-
- mentioned on