[
https://issues.apache.org/jira/browse/CAMEL-24408?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Omar Atie reassigned CAMEL-24408:
---------------------------------
Assignee: Omar Atie
> SEDA discardIfNoConsumers breaks after consumer removal when sharing the same
> URI
> ---------------------------------------------------------------------------------
>
> Key: CAMEL-24408
> URL: https://issues.apache.org/jira/browse/CAMEL-24408
> Project: Camel
> Issue Type: Bug
> Components: camel-seda
> Affects Versions: 4.19.0, 4.22.0
> Reporter: Gaelle Fournier
> Assignee: Omar Atie
> Priority: Major
>
> When a SEDA producer and consumer share the same endpoint URI, removing the
> consumer route destroys the shared queue state. Subsequent sends throw
> {{SedaConsumerNotAvailableException}} instead of silently discarding as
> {{discardIfNoConsumers=true}} specifies. The exchange is discarded correctly
> before a consumer is ever added, but not after one is removed.
> The root cause seems to be in {{SedaComponent.onShutdownEndpoint()}}. It
> checks {{endpoint.getConsumers().isEmpty()}} before tearing down the queue,
> but does not check for active producers. Since the producer and consumer
> resolve to the same {{SedaEndpoint}} instance, the {{QueueReference}} is
> removed entirely. {{SedaProducer.addToQueue()}} then gets a null queue and
> throws before the {{discardIfNoConsumers}} check is reached.
> See:
> https://camel.zulipchat.com/#narrow/channel/257298-camel/topic/Question.20about.20SedaConsumerNotAvailableException/with/617246614
--
This message was sent by Atlassian Jira
(v8.20.10#820010)