You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Matt Robbins (Jira)" <ji...@apache.org> on 2020/06/23 10:20:00 UTC
[jira] [Created] (CAMEL-15230) RabbitMqSpanDecorator - Invalid
Parent Span Id when EXCHANGE_NAME header not set
Matt Robbins created CAMEL-15230:
------------------------------------
Summary: RabbitMqSpanDecorator - Invalid Parent Span Id when EXCHANGE_NAME header not set
Key: CAMEL-15230
URL: https://issues.apache.org/jira/browse/CAMEL-15230
Project: Camel
Issue Type: Bug
Components: camel-opentracing
Affects Versions: 3.4.0
Reporter: Matt Robbins
It seems like there is not strict requirement for _*rabbitmq.EXCHANGE_NAME*_ header to set by a producer e.g. the following code "works":
{code:java}
from("direct:foo")
.to("bar.exchange?queue=bar.queue&autoDelete=false")
.end()
{code}
However in this instance a span will be created with null as the operation name.
Such spans will be ignored by the collector e.g. Jaeger, which results in subsequent spans having missing parents and "invalid parent span id" warnings appearing.
Doing the following prevents this.
{code:java}
from("direct:foo")
.setHeader("rabbitmq.EXCHANGE_NAME").simple("bar.exchange")
.to("bar.exchange?queue=bar.queue&autoDelete=false")
.end()
{code}
It seems like we don't necessarily need the overridden _*getDestination*_ method in the _*RabbitMqSpanDecorator*_ and could fall through to the base implementation?
Happy to raise a PR but thought I would collect thoughts in case I had missed some subtlety.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)