Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-11179

MultiThread race condition in DefaultShutdownStrategy for suspend/resume

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Won't Fix
    • Affects Version/s: 2.18.3
    • Fix Version/s: None
    • Component/s: camel-core
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      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:

      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!

        Attachments

          Activity

            People

            • Assignee:
              davsclaus Claus Ibsen
              Reporter:
              graben Benjamin Graf
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: