You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Jason Shepherd (JIRA)" <ji...@apache.org> on 2013/09/05 02:04:51 UTC

[jira] [Updated] (AMQ-4621) Provide a polling SlowConsumerPolicy that uses LastAck time on a sub

     [ https://issues.apache.org/jira/browse/AMQ-4621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Shepherd updated AMQ-4621:
--------------------------------

    Attachment: kahaPendingMEssage-20130905.zip

XML Configuration of new abortSlowAckConsumerStrategy fails with:

  testSendAndListenToOnNetworkOfBrokers(jmsTest.TestWithSystemUsage): Line 61 in XML document from class path resource [spring2.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 61; columnNumber: 35; cvc-complex-type.2.4.a: Invalid content was found starting with element 'abortSlowAckConsumerStrategy'. One of '{"http://activemq.apache.org/schema/core":abortSlowConsumerStrategy, WC[##other:"http://activemq.apache.org/schema/core"]}' is expected.
                
> Provide a polling SlowConsumerPolicy that uses LastAck time on a sub
> --------------------------------------------------------------------
>
>                 Key: AMQ-4621
>                 URL: https://issues.apache.org/jira/browse/AMQ-4621
>             Project: ActiveMQ
>          Issue Type: Improvement
>    Affects Versions: 5.8.0
>            Reporter: Gary Tully
>            Assignee: Timothy Bish
>              Labels: abort, connection, consumer, policy, slowConsumers
>             Fix For: 5.9.0
>
>         Attachments: AMQ4621Patch.txt, kahaPendingMEssage-20130905.zip
>
>
> The existing AbortSlowConsumer policy is event driven. It depends on a consumer slow event that is triggered when the prefetch is reached and there are subsequent dispatches.
> With prefetch=0|1 there still needs to be throughput to determine that the consumer is slow so one message can be pending if there are no new messages to sent to the destination.
> Providing an alternative implementation that will periodically poll consumers for their last ack time will be more deterministic. The slow advisory may never fire, but the consumer will get aborted if it does not ack in a timely manner.
> if lastAckTime exceeds the max and there are dispatched messages it can be a candidate for removal.
> Optionally lastAckTime exceeding and no dispatched messages can be a way to remove idle consumers. Not sure if that is necessary.

--
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