activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wieslaw Dudek (JIRA)" <>
Subject [jira] [Commented] (AMQ-4533) Messages stuck in queue with redelivered=true
Date Fri, 21 Jun 2013 15:42:20 GMT


Wieslaw Dudek commented on AMQ-4533:

Thank you Gary for your input but apart from the fact this might be unacceptable to decrease
the performance by reducing prefetchSize from 1000 to 10 I am not sure if it is going to work.
It is still failing on my local machine and anyway it might happen that we need wait a long
time to have full prefetch queue /1000 messages assigned to “stuck” consumer/ to be released.
We could tune the prefetch for every queue but anyway we might really need some good working
timeout for aborting such consumers /to release all prefetched messages to it/. For now the
timeout is related to slow consumers only and depends on difficult mechanism of slowness detecting
which does not work if there are not enough messages coming to a queue for some time. So most
likely it is still necessary to have a new checking mechanism whether a consumer is still
consuming messages or not. 
> Messages stuck in queue with redelivered=true
> ---------------------------------------------
>                 Key: AMQ-4533
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: JMS client
>    Affects Versions: 5.7.0
>         Environment: Fuse Message Broker 5.7.0
>            Reporter: Jason Shepherd
>         Attachments:, AMQ4533TestPatch.txt, AMQ4533TestPatch.txt, AMQ4533TestPatch.txt,
> We're  getting message stuck in queues with the 
> redelivery flag set to true.
> We used the following test model: put every 1 second 50 messages sequentially, and after
that, the rest of 1000 msgs quickly to INPUT_QUEUE and 
> while starting 25 listeners cosuming from INPUT_QUEUE, which takes about 30 seconds to
move the message to RECEIPT_QUEUE, 10 other listeners on RECEIPT_QUEUE consume and counts
> We tried making one of the consumer slow by setting the 
> processing time to 100000 seconds (sleep) and putting a heavy load in 
> 500 threads every 1 ms to some other queues the same time.
> Our test case is attached, you might need to install some dependencies 
> to the local maven repository manually:
>      mvn install:install-file -DgroupId=org.apache.activemq 
> -DartifactId=activemq-core -Dversion=5.7.0-fuse-71-047 -Dpackaging=jar 
> -Dfile=activemq-core-5.7.0.fuse-71-047.jar
>      mvn install:install-file -DgroupId=org.apache.kahadb 
> -DartifactId=kahadb -Dversion=5.7.0-fuse-71-047 -Dpackaging=jar 
> -Dfile=kahadb-5.7.0.fuse-71-047.jar
>      mvn install:install-file 
> -DartifactId=geronimo-j2ee-management_1.1_spec -Dversion=1.0.1 
> -Dpackaging=jar -Dfile=geronimo-j2ee-management_1.1_spec-1.0.1.jar
>      mvn install:install-file -DgroupId=org.apache.activemq.pool 
> -DartifactId=activemq-pool -Dversion=5.7.0-fuse-71-047 -Dpackaging=jar 
> -Dfile=activemq-pool-5.7.0.fuse-71-047.jar
> To run the test, simply use the Maven test target:
>     mvn clean test
> If the problem occurs the you'll get a message like this in the test 
> results, (target/surefire-reports):
>     java.lang.AssertionError: Still messages in InputQueue expected:<0> 
> but was:<365>

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message