[ 
https://issues.apache.org/jira/browse/CAMEL-19734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17753980#comment-17753980
 ] 

Rich T commented on CAMEL-19734:
--------------------------------

Correct,

ClientInboundQueue is a multicast SEDA configured as:
{code:java}
seda://ClientInboundQueue?multipleConsumers=true&concurrentConsumers=2&waitForTaskToComplete=IfReplyExpected&purgeWhenStopping=true&discardIfNoConsumers=true&limitConcurrentConsumers=false&size=1000{code}
 

I have 3 routes consuming from this endpoint and the route where the exception 
occurs (routeId: ClientInbound-EventProcessor) routes to the following SEDA 
single consumer endpoint:
{code:java}
seda://AttributeEventQueue?waitForTaskToComplete=IfReplyExpected&timeout=10000&purgeWhenStopping=true&discardIfNoConsumers=false&size=25000{code}
 

The `AttributeEventQueue` reaches its' size limit and then as expected 
exceptions are thrown but the message history log for some reason shows one of 
the un-related `ClientInboundQueue` consumers (that never route to 
`AttributeEventQueue`) with a huge ElapsedTime and then immediately after it is 
the route that actually caused the exception:
{code:java}
ClientInbound-EventProcessor -> AttributeEventQueue{code}
 

Hopefully this explains everything and thanks for your assistance.

> SEDA endpoint with multiple consumers produces strange message history from 
> error handler
> -----------------------------------------------------------------------------------------
>
>                 Key: CAMEL-19734
>                 URL: https://issues.apache.org/jira/browse/CAMEL-19734
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 3.20.6
>            Reporter: Rich T
>            Priority: Minor
>
> I have a SEDA endpoint with multiple consumers enabled and three consumers 
> configured and default error handler is in place.
> If one of the consumer queues becomes full then with the default error 
> handler the message history is output but the first item is always one of the 
> other consumers with a really large elapsed time (the system hasn't even been 
> running this long) and then this is followed by the consumer route that 
> actually threw the exception:
>  
>  
> {code:java}
> Message History (source location is disabled)
> ---------------------------------------------------------------------------------------------------------------------------------------
> Source                                   ID                             
> Processor                                          Elapsed (ms)
>                                          ClientInbound-ReadSimulatorSta 
> from[seda://ClientInboundQueue?concurrentConsumers   1201857883
>                                          ClientInbound-EventProcessor/p 
> Processor@0x713c4d95                                          0
>                                          ClientInbound-EventProcessor/c 
> choice[when[{body instanceof xxx                              0
>                                          ClientInbound-EventProcessor/t 
> seda://AttributeEventQueue?waitForTaskToComplete=I            0
> Stacktrace
> ---------------------------------------------------------------------------------------------------------------------------------------
> java.lang.IllegalStateException: Queue full
> {code}
> So from the above `ClientInbound-ReadSimulatorState` is one of the multiple 
> consumers that doesn't throw an exception.
> `ClientInbound-EventProcessor` is the route that has a full queue which 
> results in the queue full exception.
> I would expect to only see the `ClientInbound-EventProcessor` in the message 
> history here; the first route in the history log seems to alternate between 
> the two consumers that didn't generate the exception on successive error logs 
> but they always have this strange elapsed time, here's a log showing the 
> third consumer listed first:
>  
>  
> {code:java}
> Message History (source location is disabled)
> ---------------------------------------------------------------------------------------------------------------------------------------
> Source                                   ID                             
> Processor                                          Elapsed (ms)
>                                          ClientInbound-Query/ClientInbo 
> from[seda://ClientInboundQueue?concurrentConsumers   1201857882
>                                          ClientInbound-EventProcessor/p 
> Processor@0x713c4d95                                          0
>                                          ClientInbound-EventProcessor/c 
> choice[when[{body instanceof xxx                              0
>                                          ClientInbound-EventProcessor/t 
> seda://AttributeEventQueue?waitForTaskToComplete=I            0
> Stacktrace
> ---------------------------------------------------------------------------------------------------------------------------------------
> java.lang.IllegalStateException: Queue full
> {code}
>  
>  



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

Reply via email to