[
https://issues.apache.org/jira/browse/AMQ-6231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15229062#comment-15229062
]
Timothy Bish commented on AMQ-6231:
-----------------------------------
For this case it would be better to use the AbortSlowAckConsumerStrategy
instead.
> AbortSlowConsumer Strategy Inaccurate at default Sampling Rate
> --------------------------------------------------------------
>
> Key: AMQ-6231
> URL: https://issues.apache.org/jira/browse/AMQ-6231
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client
> Affects Versions: 5.13.2
> Environment: Any
> Reporter: Justin Reock
> Priority: Minor
>
> The default period check for the AbortSlowConsumer strategy is set to 30
> seconds, however, the check itself is rather simple. It checks the the
> number of messages in the prefetch buffer, and if that number is the same on
> the next check, that consumer is considered slow and is evicted.
> This can be inaccurate though, because there is no check that actually looks
> at whether the messages in the prefetch buffer are the same messages as
> before. In other words, if the consumer processes all the messages in
> prefetch, and prefetch is refilled to the same number as the previous check,
> the consumer will be considered slow.
> You can reproduce this issue by starting with a queue with 5000 messages in
> it, and a prefetch of 1000. Attach a consumer, and enable the Logger Plugin
> with logAll=true. Set the AbortSlowConsumer strategy with default options.
> After 30 seconds, even though the consumer has been reasonably processing
> messages, the Strategy will abort the consumer anyway, and you'll see a
> report from the Logger plugin that the consumer was slow.
> Then, repeat the same test, but set the AbortSlowConsumer checkPeriod down to
> a very small value, like 5 milliseconds. The Consumer will never be
> considered slow.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)