This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 625b89b0853 CAMEL-21302: Use OTEL_ as prefix for these special 
exchange property keys.
625b89b0853 is described below

commit 625b89b0853947a11dcb8660f0b64ec0880b477a
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Oct 23 10:43:40 2024 +0200

    CAMEL-21302: Use OTEL_ as prefix for these special exchange property keys.
---
 .../apache/camel/component/direct/DirectProducer.java    |  5 ++---
 .../java/org/apache/camel/tracing/ActiveSpanManager.java | 16 ++++++++--------
 .../java/org/apache/camel/ExchangeConstantProvider.java  |  4 ++--
 .../src/main/java/org/apache/camel/Exchange.java         |  6 ++++--
 .../main/java/org/apache/camel/ExchangePropertyKey.java  | 13 ++++++++-----
 .../org/apache/camel/saga/InMemorySagaCoordinator.java   |  4 ++--
 .../modules/ROOT/pages/camel-4x-upgrade-guide-4_9.adoc   |  3 +++
 7 files changed, 29 insertions(+), 22 deletions(-)

diff --git 
a/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectProducer.java
 
b/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectProducer.java
index c1ff8d6a706..721e86b0eca 100644
--- 
a/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectProducer.java
+++ 
b/components/camel-direct/src/main/java/org/apache/camel/component/direct/DirectProducer.java
@@ -96,8 +96,8 @@ public class DirectProducer extends DefaultAsyncProducer {
                 } else {
                     //Ensure we can close the CLIENT Scope created by this 
DirectProducer
                     //in the same thread
-                    if (exchange.getProperty(ExchangePropertyKey.ACTIVE_SPAN) 
!= null) {
-                        
exchange.setProperty(ExchangePropertyKey.CLOSE_CLIENT_SCOPE, Boolean.TRUE);
+                    if 
(exchange.getProperty(ExchangePropertyKey.OTEL_ACTIVE_SPAN) != null) {
+                        
exchange.setProperty(ExchangePropertyKey.OTEL_CLOSE_CLIENT_SCOPE, Boolean.TRUE);
                     }
                     return consumer.getAsyncProcessor().process(exchange, 
callback);
                 }
@@ -105,7 +105,6 @@ public class DirectProducer extends DefaultAsyncProducer {
         } catch (InterruptedException e) {
             LOG.info("Interrupted while processing the exchange");
             Thread.currentThread().interrupt();
-
             exchange.setException(e);
             callback.done(true);
             return true;
diff --git 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/ActiveSpanManager.java
 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/ActiveSpanManager.java
index db2ba8a59ae..2e581101956 100644
--- 
a/components/camel-tracing/src/main/java/org/apache/camel/tracing/ActiveSpanManager.java
+++ 
b/components/camel-tracing/src/main/java/org/apache/camel/tracing/ActiveSpanManager.java
@@ -41,7 +41,7 @@ public final class ActiveSpanManager {
      * @return          The current active span, or null if none exists
      */
     public static SpanAdapter getSpan(Exchange exchange) {
-        Holder holder = exchange.getProperty(ExchangePropertyKey.ACTIVE_SPAN, 
Holder.class);
+        Holder holder = 
exchange.getProperty(ExchangePropertyKey.OTEL_ACTIVE_SPAN, Holder.class);
         if (holder != null) {
             return holder.getSpan();
         }
@@ -56,15 +56,15 @@ public final class ActiveSpanManager {
      * @param span     The span
      */
     public static void activate(Exchange exchange, SpanAdapter span) {
-        if (exchange.getProperty(ExchangePropertyKey.CLOSE_CLIENT_SCOPE, 
Boolean.FALSE, Boolean.class)) {
+        if (exchange.getProperty(ExchangePropertyKey.OTEL_CLOSE_CLIENT_SCOPE, 
Boolean.FALSE, Boolean.class)) {
             //Check if we need to close the CLIENT scope created by
             //DirectProducer in async mode before we create a new INTERNAL 
scope
             //for the next DirectConsumer
             endScope(exchange);
-            exchange.removeProperty(ExchangePropertyKey.CLOSE_CLIENT_SCOPE);
+            
exchange.removeProperty(ExchangePropertyKey.OTEL_CLOSE_CLIENT_SCOPE);
         }
-        exchange.setProperty(ExchangePropertyKey.ACTIVE_SPAN,
-                new 
Holder(exchange.getProperty(ExchangePropertyKey.ACTIVE_SPAN, Holder.class), 
span));
+        exchange.setProperty(ExchangePropertyKey.OTEL_ACTIVE_SPAN,
+                new 
Holder(exchange.getProperty(ExchangePropertyKey.OTEL_ACTIVE_SPAN, 
Holder.class), span));
         if (Boolean.TRUE.equals(exchange.getContext().isUseMDCLogging())) {
             MDC.put(MDC_TRACE_ID, span.traceId());
             MDC.put(MDC_SPAN_ID, span.spanId());
@@ -79,10 +79,10 @@ public final class ActiveSpanManager {
      * @param exchange The exchange
      */
     public static void deactivate(Exchange exchange) {
-        Holder holder = exchange.getProperty(ExchangePropertyKey.ACTIVE_SPAN, 
Holder.class);
+        Holder holder = 
exchange.getProperty(ExchangePropertyKey.OTEL_ACTIVE_SPAN, Holder.class);
         if (holder != null) {
             Holder parent = holder.getParent();
-            exchange.setProperty(ExchangePropertyKey.ACTIVE_SPAN, parent);
+            exchange.setProperty(ExchangePropertyKey.OTEL_ACTIVE_SPAN, parent);
 
             holder.closeScope();
             if (Boolean.TRUE.equals(exchange.getContext().isUseMDCLogging())) {
@@ -106,7 +106,7 @@ public final class ActiveSpanManager {
      * @param exchange The exchange
      */
     public static void endScope(Exchange exchange) {
-        Holder holder = exchange.getProperty(ExchangePropertyKey.ACTIVE_SPAN, 
Holder.class);
+        Holder holder = 
exchange.getProperty(ExchangePropertyKey.OTEL_ACTIVE_SPAN, Holder.class);
         if (holder != null) {
             holder.closeScope();
         }
diff --git 
a/core/camel-api/src/generated/java/org/apache/camel/ExchangeConstantProvider.java
 
b/core/camel-api/src/generated/java/org/apache/camel/ExchangeConstantProvider.java
index 40b33cd2a98..498abea265f 100644
--- 
a/core/camel-api/src/generated/java/org/apache/camel/ExchangeConstantProvider.java
+++ 
b/core/camel-api/src/generated/java/org/apache/camel/ExchangeConstantProvider.java
@@ -15,7 +15,6 @@ public class ExchangeConstantProvider {
     static {
         Map<String, String> map = new HashMap<>(160);
         map.put("ACCEPT_CONTENT_TYPE", "CamelAcceptContentType");
-        map.put("ACTIVE_SPAN", "OpenTracing.activeSpan");
         map.put("AGGREGATED_COLLECTION_GUARD", 
"CamelAggregatedCollectionGuard");
         map.put("AGGREGATED_COMPLETED_BY", "CamelAggregatedCompletedBy");
         map.put("AGGREGATED_CORRELATION_KEY", "CamelAggregatedCorrelationKey");
@@ -37,7 +36,6 @@ public class ExchangeConstantProvider {
         map.put("CHARSET_NAME", "CamelCharsetName");
         map.put("CIRCUIT_BREAKER_STATE", "CamelCircuitBreakerState");
         map.put("CLAIM_CHECK_REPOSITORY", "CamelClaimCheckRepository");
-        map.put("CLOSE_CLIENT_SCOPE", "OpenTracing.closeClientScope");
         map.put("COMPILE_SCRIPT", "CamelCompileScript");
         map.put("CONTENT_ENCODING", "Content-Encoding");
         map.put("CONTENT_LENGTH", "Content-Length");
@@ -125,6 +123,8 @@ public class ExchangeConstantProvider {
         map.put("OFFSET", "CamelOffset");
         map.put("ON_COMPLETION", "CamelOnCompletion");
         map.put("ON_COMPLETION_ROUTE_IDS", "CamelOnCompletionRouteIds");
+        map.put("OTEL_ACTIVE_SPAN", "OpenTracing.activeSpan");
+        map.put("OTEL_CLOSE_CLIENT_SCOPE", "OpenTracing.closeClientScope");
         map.put("OVERRULE_FILE_NAME", "CamelOverruleFileName");
         map.put("PARENT_UNIT_OF_WORK", "CamelParentUnitOfWork");
         map.put("RECEIVED_TIMESTAMP", "CamelReceivedTimestamp");
diff --git a/core/camel-api/src/main/java/org/apache/camel/Exchange.java 
b/core/camel-api/src/main/java/org/apache/camel/Exchange.java
index 028c6773a3c..d794a2ab1a4 100644
--- a/core/camel-api/src/main/java/org/apache/camel/Exchange.java
+++ b/core/camel-api/src/main/java/org/apache/camel/Exchange.java
@@ -67,8 +67,6 @@ import org.apache.camel.spi.annotations.ConstantProvider;
 @ConstantProvider("org.apache.camel.ExchangeConstantProvider")
 public interface Exchange extends VariableAware {
 
-    String ACTIVE_SPAN = "OpenTracing.activeSpan";
-    String CLOSE_CLIENT_SCOPE = "OpenTracing.closeClientScope";
     String AUTHENTICATION = "CamelAuthentication";
     String AUTHENTICATION_FAILURE_POLICY_ID = 
"CamelAuthenticationFailurePolicyId";
     @Deprecated(since = "2.20.0")
@@ -333,6 +331,10 @@ public interface Exchange extends VariableAware {
     String XSLT_FATAL_ERROR = "CamelXsltFatalError";
     String XSLT_WARNING = "CamelXsltWarning";
 
+    // special for camel-tracing/open-telemetry
+    String OTEL_ACTIVE_SPAN = "OpenTracing.activeSpan";
+    String OTEL_CLOSE_CLIENT_SCOPE = "OpenTracing.closeClientScope";
+
     /**
      * Returns the {@link ExchangePattern} (MEP) of this exchange.
      *
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/ExchangePropertyKey.java 
b/core/camel-api/src/main/java/org/apache/camel/ExchangePropertyKey.java
index 9146fd8780d..167eb3d8bb5 100644
--- a/core/camel-api/src/main/java/org/apache/camel/ExchangePropertyKey.java
+++ b/core/camel-api/src/main/java/org/apache/camel/ExchangePropertyKey.java
@@ -23,8 +23,6 @@ import org.apache.camel.spi.CircuitBreakerConstants;
  */
 public enum ExchangePropertyKey {
 
-    ACTIVE_SPAN(Exchange.ACTIVE_SPAN),
-    CLOSE_CLIENT_SCOPE(Exchange.CLOSE_CLIENT_SCOPE),
     AGGREGATED_COMPLETED_BY(Exchange.AGGREGATED_COMPLETED_BY),
     AGGREGATED_CORRELATION_KEY(Exchange.AGGREGATED_CORRELATION_KEY),
     AGGREGATED_SIZE(Exchange.AGGREGATED_SIZE),
@@ -76,7 +74,10 @@ public enum ExchangePropertyKey {
     STREAM_CACHE_UNIT_OF_WORK(Exchange.STREAM_CACHE_UNIT_OF_WORK),
     TO_ENDPOINT(Exchange.TO_ENDPOINT),
     TRY_ROUTE_BLOCK(Exchange.TRY_ROUTE_BLOCK),
-    UNIT_OF_WORK_EXHAUSTED(Exchange.UNIT_OF_WORK_EXHAUSTED);
+    UNIT_OF_WORK_EXHAUSTED(Exchange.UNIT_OF_WORK_EXHAUSTED),
+    // special for camel-tracing/open-telemetry
+    OTEL_ACTIVE_SPAN(Exchange.OTEL_ACTIVE_SPAN),
+    OTEL_CLOSE_CLIENT_SCOPE(Exchange.OTEL_CLOSE_CLIENT_SCOPE);
 
     private final String name;
 
@@ -90,8 +91,6 @@ public enum ExchangePropertyKey {
 
     public static ExchangePropertyKey asExchangePropertyKey(String name) {
         switch (name) {
-            case Exchange.ACTIVE_SPAN:
-                return ACTIVE_SPAN;
             case Exchange.AGGREGATED_COMPLETED_BY:
                 return AGGREGATED_COMPLETED_BY;
             case Exchange.AGGREGATED_CORRELATION_KEY:
@@ -194,6 +193,10 @@ public enum ExchangePropertyKey {
                 return TRY_ROUTE_BLOCK;
             case Exchange.UNIT_OF_WORK_EXHAUSTED:
                 return UNIT_OF_WORK_EXHAUSTED;
+            case Exchange.OTEL_ACTIVE_SPAN:
+                return OTEL_ACTIVE_SPAN;
+            case Exchange.OTEL_CLOSE_CLIENT_SCOPE:
+                return OTEL_CLOSE_CLIENT_SCOPE;
             default:
                 return null;
         }
diff --git 
a/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
 
b/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
index 0b91c6a52ea..067744af536 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/saga/InMemorySagaCoordinator.java
@@ -233,9 +233,9 @@ public class InMemorySagaCoordinator implements 
CamelSagaCoordinator {
         answer.getMessage().setHeader(Exchange.SAGA_LONG_RUNNING_ACTION, 
getId());
 
         // preserve span from parent, so we can link this new exchange to the 
parent span for distributed tracing
-        Object span = parent != null ? 
parent.getProperty(ExchangePropertyKey.ACTIVE_SPAN) : null;
+        Object span = parent != null ? 
parent.getProperty(ExchangePropertyKey.OTEL_ACTIVE_SPAN) : null;
         if (span != null) {
-            answer.setProperty(ExchangePropertyKey.ACTIVE_SPAN, span);
+            answer.setProperty(ExchangePropertyKey.OTEL_ACTIVE_SPAN, span);
         }
 
         Map<String, Object> values = optionValues.get(step);
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_9.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_9.adoc
index 45ba2b3da35..32324f817b9 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_9.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_9.adoc
@@ -10,6 +10,9 @@ from both 4.0 to 4.1 and 4.1 to 4.2.
 
 Added `setLazyBeanStrategy`/`getLazyBeanStrategy` methods to 
`org.apache.camel.spi.CamelBeanPostProcessor`.
 
+Renamed `Exchange.ACTIVE_SPAN` to `Exchange.OTEL_ACTIVE_SPAN`.
+Renamed `ExchangePropertyKey.ACTIVE_SPAN` to 
`ExchangePropertyKey.OTEL_ACTIVE_SPAN`.
+
 === camel-management
 
 The `queueSize` attribute on endpoints which are `ManagedBrowseableEndpoint` 
is changed from returning a `Long` value

Reply via email to