[
https://issues.apache.org/jira/browse/CAMEL-24978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18118592#comment-18118592
]
Claus Ibsen commented on CAMEL-24978:
-------------------------------------
Pull request: https://github.com/apache/camel/pull/26811
_Claude Code on behalf of Claus Ibsen (davsclaus)_
> camel-core - Internal processor advices: fix bugs found in a deep review
> ------------------------------------------------------------------------
>
> Key: CAMEL-24978
> URL: https://issues.apache.org/jira/browse/CAMEL-24978
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Major
>
> A deep review of the routing engine's internal processor
> (CamelInternalProcessor, SharedCamelInternalProcessor, AdviceIterator and the
> built-in advices) found several bugs. Items 1-4 were reproduced against
> 4.23.0-SNAPSHOT.
> # *rest-openapi (and rest-postman) run each operation twice after a route
> restart.* createConsumer() adds a new RestOpenApiProcessorAdvice on every
> route start without removing the previous one. After stopRoute/startRoute a
> single GET invoked the operation route twice.
> # *The debugger "skip over" skips the after advices.* All before() advices
> have run, but the SKIP_OVER branch only calls the callback. The JMX inflight
> counter of the processor never goes down, the message history entry is not
> finished, and with tracing the exchange stays in TraceAdviceEventNotifier
> forever.
> # *An advice whose before() throws leaves earlier advices unfinished.* The
> inflight repository entry, route stack and UoW of the advices that already
> ran are never undone (inflight count for the route stays up).
> # *An exception thrown from an advice's after() replaces the exception of the
> route*, so the original failure is lost.
> # BacklogTracerAggregateAdvice does not check shouldTrace, so every
> aggregated exchange is dumped and traced in standby mode even when tracing is
> off.
> # Copy/paste bugs in the backlog tracer advices: endpoint service details set
> on the first event instead of the last, and the aggregate last event uses a
> different level than the first.
> # addRouteInflightRepositoryAdvice ignores the inflight repository parameter.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)