Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-4621

Provide a polling SlowConsumerPolicy that uses LastAck time on a sub

    XMLWordPrintableJSON

Details

    Description

      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.

      Attachments

        1. AMQ4621Patch.txt
          44 kB
          Timothy A. Bish
        2. kahaPendingMEssage-20130905.zip
          24 kB
          Jason Shepherd
        3. kahaPendingMEssage-20130906.zip
          37 kB
          Jason Shepherd
        4. AMQFreezeTest-5.8.0.redhat-60029.zip
          15 kB
          Jason Shepherd

        Issue Links

          Activity

            People

              tabish Timothy A. Bish
              gtully Gary Tully
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: