-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
kafka failure strategy dead-letter-topic can't find deserializer class #34931
Comments
/cc @alesj (kafka), @cescoffier (kafka), @ozangunalp (kafka) |
Dead letter queue strategy tries to find a serializer given the name of the incoming channel deserializer. In your case it seems like an auto generated deserializer. You can look at the dead letter queue config to configure the serializer: https://smallrye.io/smallrye-reactive-messaging/4.8.0/kafka/receiving-kafka-records/#dead-letter-queue |
The auto generation of serializer and deserializer for nomal topic just works, so I feel it should just work too for dead letter topic. |
I agree @Dieken. The discovery should work in this case. I think this should be considered as a bug. For now, you can work around it by configuring the dead letter queue serializer. |
@ozangunalp got this exception after set
Related config:
KafkaConsistentHashPartitioner.java:
Environment:
|
Yes, it would be better if it just works without explicit configuration of dead letter queue serializer. |
I've never seen this exception before. It may be related to your authentication method to the Kafka broker. |
I use Kafka dev container. The exception can be easily recurred, just update the application.properties in the code-with-quarkus.tar.gz attachment above:
The NPE is caused by |
Maybe it's an issue of Kafka client, it reports warnings or errors if the topic doesn't exist. After the topic is created, the warnings or errors disappear. With Confluent-7.0.4:
With Redpanda-v22.3.4:
|
Idempotent producer support may be different in Redpanda than in Kafka. For the dev service have you tried creating topics before hand using https://quarkus.io/guides/kafka#configuring-kafka-topics ? |
Tried this configuration, it doesn't help. |
@ozangunalp Although |
I think that's the main issue: the DLQ serializer should be discovered automatically. |
I had the same problem, looking at the quarkus logs on initialization I found this: |
Yes, that's one of the thing that need to be added. When using a DLQ you need both sides |
@ozangunalp @cescoffier Could Quarkus just work without this explicit configuration of |
That's the idea, but it's not implemented yet. |
…ure strategy Resolves quarkusio#34931
…ure strategy Resolves quarkusio#34931
Describe the bug
Enable
mp.messaging.incoming.words-in.failure-strategy=dead-letter-queue
then Quarkus application will fail to start:Expected behavior
It should just work.
Actual behavior
It throws exception and fails to start.
How to Reproduce?
code-with-quarkus.tar.gz
Run
quarkus dev
, it will throw exception above.Output of
uname -a
orver
Darwin xxx 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar 6 21:00:17 PST 2023; root:xnu-8796.101.5~3/RELEASE_X86_64 x86_64
Output of
java -version
OpenJDK 64-Bit Server VM Temurin-17+35 (build 17+35, mixed mode, sharing)
GraalVM version (if different from Java)
No response
Quarkus version or git rev
3.2.1.Final
Build tool (ie. output of
mvnw --version
orgradlew --version
)Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
Additional information
No response
The text was updated successfully, but these errors were encountered: