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

davsclaus pushed a commit to branch 
fix-endpoint-utilization-stats-double-counting
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 3ed4fb44bd53228cf66a13572c71b46c93d94a08
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue May 19 21:54:14 2026 +0200

    camel-core - Fix endpoint utilization statistics double-counting input hits
    
    Remove the fallback routeId scan and dynamic inputs addition from the
    ExchangeCreatedEvent handler in DefaultRuntimeEndpointRegistry. This
    workaround was added for rest-openapi exchanges missing fromRouteId,
    but that has since been properly fixed by propagating routeId through
    DefaultPlatformHttpConsumer.setRouteId(). The fallback incorrectly
    matched ProducerTemplate exchanges (which legitimately have null
    fromRouteId) to route inputs, doubling the input hit count.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
 .../camel/impl/engine/DefaultRuntimeEndpointRegistry.java | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java
index 8070612e94a8..88626bbd199a 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java
@@ -263,21 +263,6 @@ public class DefaultRuntimeEndpointRegistry extends 
EventNotifierSupport impleme
             if (endpoint != null) {
                 String routeId = ece.getExchange().getFromRouteId();
                 String uri = endpoint.getEndpointUri();
-                // some components (e.g. rest-openapi) delegate to an 
underlying consumer (e.g. platform-http)
-                // whose exchange may not carry a fromRouteId; fall back to 
scanning inputs by URI
-                if (routeId == null) {
-                    for (Map.Entry<String, Set<String>> entry : 
inputs.entrySet()) {
-                        if (entry.getValue().contains(uri)) {
-                            routeId = entry.getKey();
-                            break;
-                        }
-                    }
-                }
-                // ensure the actual consumer URI is in inputs so 
getEndpointStatistics() can find it
-                Set<String> routeInputs = inputs.get(routeId);
-                if (routeInputs != null) {
-                    routeInputs.add(uri);
-                }
                 String key = asUtilizationKey(routeId, uri);
                 if (key != null) {
                     inputUtilization.onHit(key);

Reply via email to