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

Guillaume Nodet commented on CAMEL-24600:
-----------------------------------------

This issue is being investigated by a coding agent (on behalf of gnodet).

Initial triage findings: The test 
JmsConcurrentConsumerInOnlyTest.testConcurrentConsumers is flaky due to an 
insufficient wait timeout. The test sends 2000 messages to a JMS queue through 
concurrent consumers (2-5) each with a random delay of 0-10ms, then calls 
MockEndpoint.assertIsSatisfied(context) with no explicit timeout. This falls 
back to a hardcoded 10-second wait, which is insufficient on slow architectures 
(s390x, aarch64) or under CI load. The similar JmsDefaultTaskExecutorTypeTest 
uses MockEndpoint.assertIsSatisfied(context, 40, TimeUnit.SECONDS) explicitly.

Proposed fix: replace MockEndpoint.assertIsSatisfied(context) with 
MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS) in the test.

_Note: This comment was generated by an AI coding agent and requires manual 
verification._

> Fix flaky test JmsConcurrentConsumerInOnlyTest.testConcurrentConsumers
> ----------------------------------------------------------------------
>
>                 Key: CAMEL-24600
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24600
>             Project: Camel
>          Issue Type: Test
>          Components: camel-jms
>    Affects Versions: 4.23.0
>            Reporter: Aurélien Pupier
>            Assignee: Guillaume Nodet
>            Priority: Minor
>
> it has failed 13 times in 90 days.
> Always on s390x so far
> the stacktrace error of first attempt is:
> {noformat}
> java.lang.AssertionError: mock://foo Received message count. Expected: <2000> 
> but was: <1671> 
>       at 
> org.apache.camel.component.mock.MockEndpoint.fail(MockEndpoint.java:2075)    
>       at 
> org.apache.camel.component.mock.MockEndpoint.assertEquals(MockEndpoint.java:2010)
>     
>       at 
> org.apache.camel.component.mock.MockEndpoint.doAssertIsSatisfied(MockEndpoint.java:498)
>       
>       at 
> org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:476)
>         
>       at 
> org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:466)
>         
>       at 
> org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:265)
>         
>       at 
> org.apache.camel.component.jms.issues.JmsConcurrentConsumerInOnlyTest.testConcurrentConsumers(JmsConcurrentConsumerInOnlyTest.java:53)
>        
> {noformat}
> with the real number varying from 100 to 1997. (expecting 2000)
> the 2 other retries have another error:
> {noformat}
> org.apache.camel.CamelExecutionException: Exception occurred during execution 
> on the exchange: Exchange[]     
>       at 
> org.apache.camel.CamelExecutionException.wrapCamelExecutionException(CamelExecutionException.java:60)
>         
>       at 
> org.apache.camel.support.ExchangeHelper.extractResultBody(ExchangeHelper.java:704)
>    
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:594)
>      
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:590)
>      
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:188)
>       
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:194)
>       
>       at 
> org.apache.camel.component.jms.issues.JmsConcurrentConsumerInOnlyTest.testConcurrentConsumers(JmsConcurrentConsumerInOnlyTest.java:45)
>        
> Caused by: org.springframework.jms.UncategorizedJmsException: Uncategorized 
> exception occurred during JMS processing; nested exception is 
> org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: 
> [errorType=NOT_CONNECTED message=AMQ219007: Cannot connect to server(s). 
> Tried with all available servers.]     
>       at 
> org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:308)
>         
>               •••
>       at 
> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:616)
>      
>       at 
> org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:446)      
>       at 
> org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:405)
>        
>       at 
> org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:163)     
>       at 
> org.apache.camel.impl.engine.SharedCamelInternalProcessor.processNonTransacted(SharedCamelInternalProcessor.java:156)
>         
>       at 
> org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:133)
>      
>       at 
> org.apache.camel.impl.engine.SharedCamelInternalProcessor$1.process(SharedCamelInternalProcessor.java:89)
>     
>       at 
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:81)
>     
>       at 
> org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:86)
>       
>       at 
> org.apache.camel.support.cache.DefaultProducerCache.send(DefaultProducerCache.java:180)
>       
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:175)
>   
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:171)
>   
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:152)
>   
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:186)
>       
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:194)
>       
>       at 
> org.apache.camel.component.jms.issues.JmsConcurrentConsumerInOnlyTest.testConcurrentConsumers(JmsConcurrentConsumerInOnlyTest.java:45)
>        
> Caused by: jakarta.jms.JMSException: Failed to create session factory 
>       at 
> org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:918)
>         
>               •••
>       at 
> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:616)
>      
>       at 
> org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:446)      
>       at 
> org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:405)
>        
>       at 
> org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:163)     
>       at 
> org.apache.camel.impl.engine.SharedCamelInternalProcessor.processNonTransacted(SharedCamelInternalProcessor.java:156)
>         
>       at 
> org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:133)
>      
>       at 
> org.apache.camel.impl.engine.SharedCamelInternalProcessor$1.process(SharedCamelInternalProcessor.java:89)
>     
>       at 
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:81)
>     
>       at 
> org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:86)
>       
>       at 
> org.apache.camel.support.cache.DefaultProducerCache.send(DefaultProducerCache.java:180)
>       
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:175)
>   
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:171)
>   
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:152)
>   
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:186)
>       
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:194)
>       
>       at 
> org.apache.camel.component.jms.issues.JmsConcurrentConsumerInOnlyTest.testConcurrentConsumers(JmsConcurrentConsumerInOnlyTest.java:45)
>        
> Caused by: 
> org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: 
> AMQ219007: Cannot connect to server(s). Tried with all available servers.     
>  
>       at 
> org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:732)
>       
>               •••
>       at 
> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:616)
>      
>       at 
> org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:446)      
>       at 
> org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:405)
>        
>       at 
> org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:163)     
>       at 
> org.apache.camel.impl.engine.SharedCamelInternalProcessor.processNonTransacted(SharedCamelInternalProcessor.java:156)
>         
>       at 
> org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:133)
>      
>       at 
> org.apache.camel.impl.engine.SharedCamelInternalProcessor$1.process(SharedCamelInternalProcessor.java:89)
>     
>       at 
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:81)
>     
>       at 
> org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:86)
>       
>       at 
> org.apache.camel.support.cache.DefaultProducerCache.send(DefaultProducerCache.java:180)
>       
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:175)
>   
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:171)
>   
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:152)
>   
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:186)
>       
>       at 
> org.apache.camel.impl.engine.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:194)
>       
>       at 
> org.apache.camel.component.jms.issues.JmsConcurrentConsumerInOnlyTest.testConcurrentConsumers(JmsConcurrentConsumerInOnlyTest.java:45)
> {noformat}
> so the test state is not correctly cleaned for the retries



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

Reply via email to