You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2010/11/02 18:26:21 UTC
svn commit: r1030135 -
/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Queue.scala
Author: chirino
Date: Tue Nov 2 17:26:17 2010
New Revision: 1030135
URL: http://svn.apache.org/viewvc?rev=1030135&view=rev
Log:
tuned the slow consumer detection logic.
Modified:
activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Queue.scala
Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Queue.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Queue.scala?rev=1030135&r1=1030134&r2=1030135&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Queue.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Queue.scala Tue Nov 2 17:26:17 2010
@@ -90,9 +90,9 @@ class Queue(val host: VirtualHost, var i
/**
* Subscribers that consume slower than this rate per seconds will be considered
- * slow.
+ * slow. Once a consumer is considered slow, we may switch to disk spooling.
*/
- var tune_slow_subscription_rate = 500*1024
+ var tune_slow_subscription_rate = 2*1024*1024
/**
* The number of milliseconds between slow consumer checks.
@@ -322,19 +322,20 @@ class Queue(val host: VirtualHost, var i
val cursor_delta = sub.advanced_size - sub.last_advanced_size
sub.last_advanced_size = sub.advanced_size
- // If the subscription is NOT slow if it's been tail parked or
- // it's been parking and cursoring through the data at the tune_slow_subscription_rate
- if( (sub.tail_parked && sub.tail_parkings==0) || ( sub.tail_parkings > 0 && cursor_delta >= slow_cursor_delta ) ) {
+ // If the subscription is NOT slow if it's it is tail parked or
+ // it's been parking or at least advancing through the data at
+ // the tune_slow_subscription_rate
+ if( sub.tail_parked || sub.tail_parkings>0 || cursor_delta >= slow_cursor_delta ) {
if( sub.slow ) {
debug("subscription is now fast: %s", sub)
sub.slow_intervals = 0
}
} else {
if( !sub.slow ) {
- trace("slow interval: %d, %d, %d", sub.slow_intervals, sub.tail_parkings, cursor_delta)
+ debug("slow interval: %d, %d, %d < %d", sub.slow_intervals, sub.tail_parkings, cursor_delta, slow_cursor_delta)
sub.slow_intervals += 1
if( sub.slow ) {
- debug("subscription is now slow: %s", sub)
+ debug("subscription is slow: %s", sub)
}
}
}