[
https://issues.apache.org/jira/browse/CAMEL-26785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen reassigned CAMEL-26785:
-----------------------------------
Assignee: Claus Ibsen
> camel-management - the steps of a circuit breaker's onFallback have no
> processor MBean, so they are missing from the route's processors and their
> statistics
> ------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-26785
> URL: https://issues.apache.org/jira/browse/CAMEL-26785
> Project: Camel
> Issue Type: Bug
> Components: camel-management
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Major
> Fix For: 4.24.0
>
>
> The steps inside the {{onFallback}} of a circuit breaker get no processor
> MBean. They are missing wherever the processors of a route are listed: JMX,
> the route dev console with {{processors=true}}, {{camel get processor}}, and
> the Routes tab of the Camel TUI. The fallback steps are exactly the ones that
> run during an outage.
> Example (the {{fail-well/circuit-breaker}} example): route {{stock-check}}
> has {{circuitBreaker1}} with {{to1}} in its steps and a {{choice1}} with
> {{setBody1}} and {{setBody2}} in its {{onFallback}}. The route console lists
> only:
> {noformat}
> stock-check ['circuitBreaker1', 'to1', 'log1']
> {noformat}
> The fallback steps are created (the startup recorder shows {{choice1 Create
> processor}}, {{setBody1 Create processor}}), and errors in them are reported
> under {{stock-check}} since CAMEL-26750.
> Cause: {{JmxManagementLifecycleStrategy.registerPerformanceCounters}} walks a
> definition's {{getOutputs()}} (and, since CAMEL-24988, the destinations of a
> {{SwitchDefinition}}). The fallback of a {{CircuitBreakerDefinition}} is not
> one of its outputs, so no performance counter is registered for its steps,
> and no processor MBean is made for them.
> Suggested fix: also walk {{CircuitBreakerDefinition.getOnFallback()}} there,
> with a test in camel-management that the fallback steps are among the
> processors of the route (Resilience4j and MicroProfile Fault Tolerance share
> the model). Other EIPs that keep steps outside {{getOutputs()}} may have the
> same gap.
> Found while walking the Camel TUI; the cause is from reading the code, not
> yet confirmed by a test.
> _Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)