Hi

For Camel in general there is docs on the website, books, videos on
you-tube and so forth.

This is a volunteer based community, and a bunch of core engineers that are
very busy.
I am afraid we don't have excess time to help when its too general and
environment specific questions/

There are commercial companies you can contract to get assistance
https://camel.apache.org/manual/commercial-camel-offerings.html


On Fri, Jan 31, 2025 at 2:49 PM Vineet Kumar
<vineet.ku...@iongroup.com.invalid> wrote:

> Hello Team,
>
> I am reaching out on behalf of ION Group regarding some issues we've
> encountered while working with Apache Camel in our Kafka-based projects. We
> are seeking your assistance to resolve some challenges related to exception
> handling in both producer and consumer routes. We have been working with a
> Kafka producer and consumer route in Camel, and our goal is to catch
> exceptions if something goes wrong in the Kafka producer or consumer routes.
>
>
> *Project 1: *Latest Version of Libraries (Camel: 4.8.0, Kafka Clients:
> 3.9.0) - Template POC Project
> *Findings:*
>
>    - *Producer Route:* We successfully implemented exception handling for
>    the producer route by adding onException block on global level with
>    maxBlockMs=2500 config.
>    - *This allowed us to catch exceptions within 2.5 seconds if any error
>       occurred during polling, which triggered the OnException block.*
>       - *Consumer Route:* Unfortunately, we were unable to achieve
>    similar results with the consumer route. Even when reproducing an exception
>    (e.g., *UnknownTopicOrPartitionException*)
>    - *The consumer route continued polling indefinitely, and the
>       OnException block was never triggered.*
>       - While we found that we could capture exceptions like *
>    UnknownTopicOrPartitionException *for the producer route, the same did
>    not apply to the consumer route.
>    - There doesn't seem to be a similar config (like maxBlockMs) for the
>       consumer route, and we're unable to handle exceptions in the same way.
>       - We were only able to catch 
> *org.apache.kafka.common.errors.TimeoutException
>       **on which we invoked getCause method to get root cause wrapped
>       exception** i.e, UnknownTopicOrPartitionException*
>
>
>
> *Project 2: *Older Version of Libraries (Camel: 3.14.10, Kafka Clients:
> 2.7.2) - *Actual version we want to use*
> *Findings:*
>
>    - *Producer Route:* We were able to reproduce a timeout exception, but
>    when calling .getCause() on the Throwable object, we received a null
>     result.
>    - In this version, only the TimeoutException was captured, and the
>       root cause was not available via getCause method invocation.
>       - *Consumer Route:* Similarly, we were unable to catch any
>    exceptions in the consumer route, which resulted in indefinite polling.
>    - We used similar example like producer: We tried consuming from a
>       topic which doesn't exist on the kafka broker
>       - Note:* auto.create.topics.enable=false* was added explicitly in
>             server.properties file used by kafka broker to prevent auto 
> creation of
>             topic
>
>
>
> *Steps We've Taken:* To resolve these issues, we've tried the following
> below approaches in both versions and none of them seems to work out for us
> except onException for producer just for TimeoutException.
>
>    1. *OnException: Only caught timeout exceptions in the producer route
>    (Only timeout exceptions)*
>    2. *ErrorHandler: We tested both custom error and exception handlers
>    without success.*
>    3. *PollExceptionStrategy*
>    4. *BreakOnFirstError*
>    5. *PollOnError*
>    6. *BridgeErrorHandler*
>    7. *ExceptionHandler*
>
>
>
> *Questions:* We would appreciate your guidance on the following:
>
>    1. *Are we missing any key configurations or settings that could help
>    resolve this issue to catch any type of exception defined in Errors.class
>    file under kafka-clients library?*
>    1. *Includes both retriable and non-retriable exceptions*
>       2. *Could there be an error in our setup or configuration?*
>    3. *Is there any relevant information missing from the Camel
>    documentation that could help us handle these exceptions properly?*
>    4. *Is this a known issue or a potential bug in the Camel version
>    we're using in both projects?*
>    5. *Any other suggestions or insights you may have would be greatly
>    appreciated.*
>
>
> For your reference, I've attached the project zip file on the below Zulip
> chat link containing relevant information, screenshot including the
> dependency version details and all necessary project files.
> Zulip chat link: (46) #general > Assistance Required on Exception
> Handling in Camel Kafka Con - camel - Zulip
> <https://camel.zulipchat.com/#narrow/channel/257295-general/topic/Assistance.20Required.20on.20Exception.20Handling.20in.20Camel.20Kafka.20Con>
> Thank you in advance for your time and support. We look forward to your
> guidance on this matter.
>
>
> Regards,
> [image: ION]
> *Vineet Kumar*
> vineet.ku...@iongroup.com
> *m*
> +91 9003801369
> iongroup.com <https://www.iongroup.com/>
>
> [image: Impact]
> <https://www.linkedin.com/showcase/ioncommodities/posts/?feedView=all>
>
>

-- 
Claus Ibsen
-----------------
@davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to