[
https://issues.apache.org/jira/browse/CAMEL-11179?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Benjamin Graf updated CAMEL-11179:
----------------------------------
Description:
If call to suspend with timeout does timeout than two threads are invoking
forced processing one for suspending and one for hard stopping. This causes the
Consumer to be possibly left in a dead state.
E.g. Jms consuming route:
# Timeout occurs, ShutdownTask gets completed before main thread
-> JmsConsumer gets stopped (listener gets destroyed), resume has no effect
# Timeout occurs, ShutdownTask get completet after main thread
-> JmsConsumer gets stopped first (listener gets destroyed) and get suspended
second, resume sets Consumer to started but the listener is still destroyed!
was:
If call to suspend with timeout does timeout than two threads are invoking
forced processing one for suspending and one for hard stopping. This causes the
Consumer to be possibly left in a dead state.
E.g. Jms consuming route:
1.) Timeout occurs, ShutdownTask gets completed before main thread
-> JmsConsumer gets stopped (listener gets destroyed), resume has no effect
2.) Timeout occurs, ShutdownTask get completet after main thread
-> JmsConsumer gets stopped first (listener gets destroyed) and get suspended
second, resume sets Consumer to started but the listener is still destroyed!
> MultiThread race condition in DefaultShutdownStrategy for suspend/resume
> ------------------------------------------------------------------------
>
> Key: CAMEL-11179
> URL: https://issues.apache.org/jira/browse/CAMEL-11179
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 2.18.3
> Reporter: Benjamin Graf
>
> If call to suspend with timeout does timeout than two threads are invoking
> forced processing one for suspending and one for hard stopping. This causes
> the Consumer to be possibly left in a dead state.
> E.g. Jms consuming route:
> # Timeout occurs, ShutdownTask gets completed before main thread
> -> JmsConsumer gets stopped (listener gets destroyed), resume has no effect
> # Timeout occurs, ShutdownTask get completet after main thread
> -> JmsConsumer gets stopped first (listener gets destroyed) and get suspended
> second, resume sets Consumer to started but the listener is still destroyed!
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)