[
https://issues.apache.org/jira/browse/AMQ-4533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13686539#comment-13686539
]
Gary Tully commented on AMQ-4533:
---------------------------------
Prefetch 1 is the best you can do with a listener.
Have a look
athttp://activemq.2283324.n4.nabble.com/Finding-a-slow-consumer-td4654153.html
to see some detail on the abort slow consumer policy. That will ensure that
stuck prefetched messages get re dispatched.
> Messages stuck in queue with redelivered=true
> ---------------------------------------------
>
> Key: AMQ-4533
> URL: https://issues.apache.org/jira/browse/AMQ-4533
> 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, kahaPendingMessages.zip
>
>
> 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 them.
> 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
> -DgroupId=org.apache.geronimo.management.specs
> -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: http://www.atlassian.com/software/jira