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

Multicast leaks into Pipeline stages?

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.18.0
    • 2.19.0
    • camel-core
    • None
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: