activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tab...@apache.org
Subject git commit: https://issues.apache.org/jira/browse/AMQ-4621 some minor tweaks to the slow ack abort strategy, wasn't always kicking in when it should have.
Date Mon, 09 Sep 2013 21:48:16 GMT
Updated Branches:
  refs/heads/trunk 827667646 -> 272de3a14


https://issues.apache.org/jira/browse/AMQ-4621
some minor tweaks to the slow ack abort strategy, wasn't always kicking
in when it should have.

Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/272de3a1
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/272de3a1
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/272de3a1

Branch: refs/heads/trunk
Commit: 272de3a146b602abe5f5679c6aca283af2be3d22
Parents: 8276676
Author: Timothy Bish <tabish121@gmai.com>
Authored: Mon Sep 9 17:48:12 2013 -0400
Committer: Timothy Bish <tabish121@gmai.com>
Committed: Mon Sep 9 17:48:12 2013 -0400

----------------------------------------------------------------------
 .../policy/AbortSlowAckConsumerStrategy.java    | 28 +++++++++++++++-----
 1 file changed, 22 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/272de3a1/activemq-broker/src/main/java/org/apache/activemq/broker/region/policy/AbortSlowAckConsumerStrategy.java
----------------------------------------------------------------------
diff --git a/activemq-broker/src/main/java/org/apache/activemq/broker/region/policy/AbortSlowAckConsumerStrategy.java
b/activemq-broker/src/main/java/org/apache/activemq/broker/region/policy/AbortSlowAckConsumerStrategy.java
index 73e8efe..fe49392 100644
--- a/activemq-broker/src/main/java/org/apache/activemq/broker/region/policy/AbortSlowAckConsumerStrategy.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/broker/region/policy/AbortSlowAckConsumerStrategy.java
@@ -107,6 +107,10 @@ public class AbortSlowAckConsumerStrategy extends AbortSlowConsumerStrategy
{
                 // Not considered Idle so ensure its cleared from the list
                 if (slowConsumers.remove(subscriber) != null) {
                     LOG.info("sub: {} is no longer slow", subscriber.getConsumerInfo().getConsumerId());
+                } else {
+                    if (LOG.isTraceEnabled()) {
+                        LOG.trace("Not ignoring idle Consumer {}", subscriber.getConsumerInfo().getConsumerId());
+                    }
                 }
             }
 
@@ -133,13 +137,25 @@ public class AbortSlowAckConsumerStrategy extends AbortSlowConsumerStrategy
{
     private void abortAllQualifiedSlowConsumers() {
         HashMap<Subscription, SlowConsumerEntry> toAbort = new HashMap<Subscription,
SlowConsumerEntry>();
         for (Entry<Subscription, SlowConsumerEntry> entry : slowConsumers.entrySet())
{
-            if (entry.getKey().isSlowConsumer()) {
-                if (getMaxSlowDuration() > 0 &&
-                    (entry.getValue().markCount * getCheckPeriod() > getMaxSlowDuration())
||
-                    getMaxSlowCount() > 0 && entry.getValue().slowCount > getMaxSlowCount())
{
+            if (getMaxSlowDuration() > 0 &&
+                (entry.getValue().markCount * getCheckPeriod() > getMaxSlowDuration())
||
+                getMaxSlowCount() > 0 && entry.getValue().slowCount > getMaxSlowCount())
{
+
+                if (LOG.isTraceEnabled()) {
+                    LOG.trace("Remove consumer {} from slow list: " +
+                              "slow duration = " + entry.getValue().markCount * getCheckPeriod()
+ ", " +
+                              "slow count = " + entry.getValue().slowCount,
+                              entry.getKey().getConsumerInfo().getConsumerId());
+                }
 
-                    toAbort.put(entry.getKey(), entry.getValue());
-                    slowConsumers.remove(entry.getKey());
+                toAbort.put(entry.getKey(), entry.getValue());
+                slowConsumers.remove(entry.getKey());
+            } else {
+                if (LOG.isTraceEnabled()) {
+                    LOG.trace("Not yet time to abot consumer {}: " +
+                              "slow duration = " + entry.getValue().markCount * getCheckPeriod()
+ ", " +
+                              "slow count = " + entry.getValue().slowCount,
+                              entry.getKey().getConsumerInfo().getConsumerId());
                 }
             }
         }


Mime
View raw message