camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Graf (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-11179) MultiThread race condition in DefaultShutdownStrategy for suspend/resume
Date Fri, 21 Apr 2017 10:09:04 GMT

    [ 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)

Mime
View raw message