Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.9.0
-
None
-
Unknown
Description
Incorrect spans (with incorrect parentId) are created by camel-zipkin when using parallelProcessing with recipientList or multicast e.g. consider the below route
public void configure() throws Exception
{ restConfiguration() .component("netty-http") .host("0.0.0.0") .port(8081) .bindingMode(RestBindingMode.json); rest().get("/demo").produces("text/plain") .route().recipientList().method(CamelRoute.class).parallelProcessing(); from("direct:a") .to("mock:c"); from("direct:b") .to("mock:d"); }
The spans created for this are as follows. mock:c is supposed to have direct:a as the parent. But according to span information both mock:d and mock:c has parent "direct:b"
{"traceId":"b2c6777c39c6ad9e","parentId":"1a139ce652082f20","id":"5322e166bb04c216","kind":"CLIENT","name":"mock://c","timestamp":1617630636132009,"duration":3564,"localEndpoint":\{"serviceName":"mock://c","ipv4":"192.168.56.1"}
,"tags":{"camel.client.endpoint.url":"mock://c","camel.client.exchange.id":"62B17BA80F06ABA-0000000000000001","camel.client.exchange.pattern":"InOut"}}
{"traceId":"b2c6777c39c6ad9e","parentId":"1a139ce652082f20","id":"1d23da2b33a4969c","kind":"CLIENT","name":"mock://d","timestamp":1617630636132011,"duration":3596,"localEndpoint":\{"serviceName":"mock://d","ipv4":"192.168.56.1"},"tags":{"camel.client.endpoint.url":"mock://d","camel.client.exchange.id":"62B17BA80F06ABA-0000000000000002","camel.client.exchange.pattern":"InOut"}}
{"traceId":"b2c6777c39c6ad9e","parentId":"e81809492156bfe3","id":"1a139ce652082f20","kind":"SERVER","name":"http://0.0.0.0:8081/demo","timestamp":1617630636130430,"duration":23706,"localEndpoint":\{"serviceName":"direct://b","ipv4":"192.168.56.1"},"tags":{"camel.server.endpoint.url":"http://0.0.0.0:8081/demo?httpMethodRestrict=GET","camel.server.exchange.id":"62B17BA80F06ABA-0000000000000002","camel.server.exchange.pattern":"InOut"}}
{"traceId":"b2c6777c39c6ad9e","parentId":"6ee96f0a005d441a","id":"53a64f899175a1be","kind":"SERVER","name":"http://0.0.0.0:8081/demo","timestamp":1617630636130428,"duration":23708,"localEndpoint":\{"serviceName":"direct://a","ipv4":"192.168.56.1"},"tags":{"camel.server.endpoint.url":"http://0.0.0.0:8081/demo?httpMethodRestrict=GET","camel.server.exchange.id":"62B17BA80F06ABA-0000000000000001","camel.server.exchange.pattern":"InOut"}}
{"traceId":"b2c6777c39c6ad9e","parentId":"b2c6777c39c6ad9e","id":"6ee96f0a005d441a","kind":"CLIENT","name":"direct://a","timestamp":1617630636125011,"duration":30645,"localEndpoint":\{"serviceName":"direct://a","ipv4":"192.168.56.1"},"tags":{"camel.client.endpoint.url":"direct://b","camel.client.exchange.id":"62B17BA80F06ABA-0000000000000002","camel.client.exchange.pattern":"InOut"}}
{"traceId":"b2c6777c39c6ad9e","parentId":"b2c6777c39c6ad9e","id":"e81809492156bfe3","kind":"CLIENT","name":"direct://b","timestamp":1617630636125011,"duration":30652,"localEndpoint":\{"serviceName":"direct://b","ipv4":"192.168.56.1"},"tags":{"camel.client.endpoint.url":"direct://a","camel.client.exchange.id":"62B17BA80F06ABA-0000000000000001","camel.client.exchange.pattern":"InOut"}}
{"traceId":"b2c6777c39c6ad9e","id":"b2c6777c39c6ad9e","kind":"SERVER","name":"http://0.0.0.0:8081/demo","timestamp":1617630636095939,"duration":61810,"localEndpoint":\{"serviceName":"rest://get:/demo","ipv4":"192.168.56.1"},"tags":{"camel.server.endpoint.url":"http://0.0.0.0:8081/demo?httpMethodRestrict=GET","camel.server.exchange.id":"62B17BA80F06ABA-0000000000000000","camel.server.exchange.pattern":"InOut"}}