[
https://issues.apache.org/jira/browse/CAMEL-26473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on CAMEL-26473 started by Adriano Machado.
-----------------------------------------------
> camel-base-engine - AsyncProcessorAwaitManager: create the latch only when
> the callback is still pending
> --------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-26473
> URL: https://issues.apache.org/jira/browse/CAMEL-26473
> Project: Camel
> Issue Type: Sub-task
> Reporter: Adriano Machado
> Assignee: Adriano Machado
> Priority: Major
> Fix For: 4.24.0
>
>
> Tier 2 item of CAMEL\-25132. {{DefaultAsyncProcessorAwaitManager.process}}
> allocates a {{CountDownLatch}} on every synchronous over asynchronous call,
> which is every {{ProducerTemplate}} send and every
> {{AsyncProcessorSupport.process\(Exchange\)}}. A temporary counter showed the
> callback had already fired when {{process}} returned in 100% of the calls,
> for routes with processors, sub routes, split, multicast, redelivery and
> seda, so the latch was not waited on.
> The latch can be created only when the callback has not fired yet when the
> processor returns, with an atomic handshake for a callback arriving at that
> moment. Waiting, the blocked exchanges view and forcing a blocked exchange to
> complete keep working as they do.
> _Claude Code on behalf of Adriano Machado \(@ammachado\)_
> _This was generated by an AI agent and may contain inaccuracies. Please
> verify before relying on it._
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)