You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Edoardo Causarano (JIRA)" <ji...@apache.org> on 2016/11/03 10:36:58 UTC

[jira] [Created] (CAMEL-10442) Multicast leaks into Pipeline stages?

Edoardo Causarano created CAMEL-10442:
-----------------------------------------

             Summary: Multicast leaks into Pipeline stages?
                 Key: CAMEL-10442
                 URL: https://issues.apache.org/jira/browse/CAMEL-10442
             Project: Camel
          Issue Type: Bug
          Components: camel-core
    Affects Versions: 2.18.0
            Reporter: Edoardo Causarano


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
 




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)