[ 
https://issues.apache.org/jira/browse/CAMEL-16509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen resolved CAMEL-16509.
---------------------------------
    Resolution: Fixed

> Incorrect span timing information reported by camel-zipkin when using 
> parallel processing with multicast/recipientList
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-16509
>                 URL: https://issues.apache.org/jira/browse/CAMEL-16509
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core, camel-zipkin
>    Affects Versions: 3.9.0
>         Environment:  
>  
>  
>            Reporter: Samrat Dhillon
>            Priority: Major
>             Fix For: 3.7.5, 3.11.0
>
>         Attachments: zipkin-spans.txt
>
>
> camel-zipkin reports incorrect span timings when using parallelProcessing 
> with recipientList or multicast pattern.
> At the core of the problem is the way camel created copies of Exchange object 
> and copies Properties. Although ExchangeCopyHelper will create a new Exchange 
> object which can then be safely shared with multiple processors, but the 
> operation does not takes into account safe copying of Objects set as 
> properties. 
> In case of camel-zipkin, ZipkinState is set in the Exchange property. When 
> copies of Exchange objects are created the original ZipkinState object ends 
> up being copied and shared by multiple copies of Exchange object which 
> results in a very messed up information within ZipkinState.  
>  
> Used the following route to reproduce the problem 
> 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")
>  .delay(100L)
>  .to("mock:c");
>  from("direct:b")
>  .delay(1000L)
>  .to("mock:d");
>  which results in a problematic span. The duration in the below span is 
> incorrect
> {"traceId":"68ea85894a4f700c","parentId":"68ea85894a4f700c","id":"202973639d6c6b0b","kind":"CLIENT","name":"direct://a","timestamp":1618418759045044,"duration":1011350,"localEndpoint":\{"serviceName":"direct://a","ipv4":"192.168.56.1"},"tags":\{"camel.client.endpoint.url":"direct://b","camel.client.exchange.id":"0A818646BEE6871-0000000000000001","camel.client.exchange.pattern":"InOut"}}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to