[ 
https://issues.apache.org/jira/browse/CAMEL-25066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

shashank reassigned CAMEL-25066:
--------------------------------

    Assignee: shashank

> camel-core - Producer cache eviction can stop a dynamic endpoint that another 
> producer cache still uses
> -------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-25066
>                 URL: https://issues.apache.org/jira/browse/CAMEL-25066
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>            Reporter: Claus Ibsen
>            Assignee: shashank
>            Priority: Minor
>
> Endpoints are shared per CamelContext, but producer caches are not. toD 
> resolves its URI via context.getEndpoint(uri), and the endpoint registry 
> caches dynamic endpoints, so two toD (or recipientList, routingSlip, 
> ProducerTemplate) that resolve the same URI get the same Endpoint instance. 
> Each of them has its own DefaultProducerCache (SendDynamicProcessor creates 
> one per processor).
> When one cache evicts its producer, ServicePool (SinglePool.cleanupEvicts) 
> stops the endpoint unless isEndpointInUse() finds it in the static endpoint 
> registry or as a route consumer. It does not know about other producer 
> caches, so the endpoint is stopped while another cache still holds a started 
> producer for it.
> Example: two routes both do toD("seda:${header.region}"). Route A has a small 
> cacheSize and sees many regions, so it evicts seda:eu and stops that endpoint 
> while route B's cache still sends to it.
> This is not a regression: before CAMEL-25004 the endpoint was always stopped 
> on eviction. Possible fixes: reference-count endpoint usage across producer 
> caches, or leave stopping dynamic endpoints to the endpoint registry's own 
> eviction.
> Follow-up from the review of https://github.com/apache/camel/pull/26862.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to