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

Multicast leaks into Pipeline stages?

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.18.0
    • Fix Version/s: 2.19.0
    • Component/s: camel-core
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      When defining a route with two (or more) parallel pipelines, it seems that the exchange is being broadcast to all steps (including the intermediate) of the pipelines, rather than just their heads. Whether or not this unintuitive - if not incorrect - behavior occurs when using shorthand syntaxes in the route definition (see https://gist.github.com/ecausarano/4b66294464741b9f626890b29ea0aec2)

      Working route:
      .pipeline().to("A").to("B").end()
      .pipeline().to("C").to("D").end()

      10:41:12.644 [main] INFO route1 - after direct:start body=START
      10:41:12.666 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> A Exchange[ID-Spitfire-local-50181-1477993271722-0-3]
      10:41:12.667 [main] DEBUG com.esc.test.MulticastPipelinesTest - A got in=START
      10:41:12.667 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> B Exchange[ID-Spitfire-local-50181-1477993271722-0-3]
      10:41:12.667 [main] DEBUG com.esc.test.MulticastPipelinesTest - B got in=A
      10:41:12.670 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> C Exchange[ID-Spitfire-local-50181-1477993271722-0-4]
      10:41:12.671 [main] DEBUG com.esc.test.MulticastPipelinesTest - C got in=START
      10:41:12.671 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> D Exchange[ID-Spitfire-local-50181-1477993271722-0-4]
      10:41:12.671 [main] DEBUG com.esc.test.MulticastPipelinesTest - D got in=C

      Faulty routes:
      .pipeline("A", "B")
      .pipeline("C", "D”)
      or
      .to("A", "B")
      .to("C", "D")

      10:43:46.383 [main] INFO route1 - after direct:start body=START
      10:43:46.389 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> A Exchange[ID-Spitfire-local-50316-1477993425625-0-3]
      10:43:46.389 [main] DEBUG com.esc.test.MulticastPipelinesTest - A got in=START
      10:43:46.390 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> B Exchange[ID-Spitfire-local-50316-1477993425625-0-4]
      10:43:46.390 [main] DEBUG com.esc.test.MulticastPipelinesTest - B got in=START
      10:43:46.391 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> C Exchange[ID-Spitfire-local-50316-1477993425625-0-5]
      10:43:46.391 [main] DEBUG com.esc.test.MulticastPipelinesTest - C got in=START
      10:43:46.391 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> D Exchange[ID-Spitfire-local-50316-1477993425625-0-6]
      10:43:46.391 [main] DEBUG com.esc.test.MulticastPipelinesTest - D got in=START

        Attachments

          Activity

            People

            • Assignee:
              davsclaus Claus Ibsen
              Reporter:
              ecausarano Edoardo Causarano
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: