shashank created CAMEL-26683:
--------------------------------

             Summary: camel-opentelemetry - OpenTelemetryTracingStrategy only 
recognises the correlation context processors when no other strategy wrapped 
them
                 Key: CAMEL-26683
                 URL: https://issues.apache.org/jira/browse/CAMEL-26683
             Project: Camel
          Issue Type: Improvement
          Components: camel-opentelemetry
            Reporter: shashank
            Assignee: shashank


Found while designing the exchange sanitizer (CAMEL-26630, apache/camel#29296), 
from Claus's review there.

{{OpenTelemetryTracingStrategy}} decides whether to activate the exchange's 
context with {{target instanceof GetCorrelationContextProcessor || target 
instanceof SetCorrelationContextProcessor}} (lines 94 and 136). It only looks 
at the outermost {{target}}. When another {{InterceptStrategy}} registered 
before it wraps the processor, the check no longer matches and the strategy 
treats those processors as ordinary steps.

camel-telemetry handles the same case by walking {{DelegateProcessor}} until it 
finds what it looks for 
({{TraceProcessorsInterceptStrategy.isEndpointSending}}). The same small loop 
would make the check independent of other strategies.

camel-opentelemetry is deprecated in favour of camel-opentelemetry2, which has 
no such type check, so this is a small fix for users who still run the 
deprecated component together with other intercept strategies.

Suggested fix: unwrap {{DelegateProcessor}} in both checks, with a test that 
registers a wrapping strategy before the OpenTelemetry one.

_Filed with Claude Code on behalf of allthingssecurity._



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to