[ 
https://issues.apache.org/jira/browse/CAMEL-11179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15978440#comment-15978440
 ] 

Benjamin Graf commented on CAMEL-11179:
---------------------------------------

Well, timeout is used by default (300s) and there does not a exist a 
"forceSuspend" feature. Therefor this can only be avoided by setting default 
timeout to infinity? Not a good idea.

> 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
>            Priority: Minor
>
> 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)

Reply via email to