You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2010/07/20 01:54:12 UTC
svn commit: r965685 - in /cassandra/trunk: conf/cassandra.yaml
src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
Author: brandonwilliams
Date: Mon Jul 19 23:54:12 2010
New Revision: 965685
URL: http://svn.apache.org/viewvc?rev=965685&view=rev
Log:
DynamicEndpointSnitch improvements, make it the default. Patch by brandonwilliams; reviewed by jbellis for CASSANDRA-1296
Modified:
cassandra/trunk/conf/cassandra.yaml
cassandra/trunk/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
Modified: cassandra/trunk/conf/cassandra.yaml
URL: http://svn.apache.org/viewvc/cassandra/trunk/conf/cassandra.yaml?rev=965685&r1=965684&r2=965685&view=diff
==============================================================================
--- cassandra/trunk/conf/cassandra.yaml (original)
+++ cassandra/trunk/conf/cassandra.yaml Mon Jul 19 23:54:12 2010
@@ -148,7 +148,7 @@ endpoint_snitch: org.apache.cassandra.lo
# wrapped with a dynamic snitch, which will monitor read latencies
# and avoid reading from hosts that have slowed (due to compaction,
# for instance)
-dynamic_snitch: false
+dynamic_snitch: true
# request_scheduler -- Set this to a class that implements
# RequestScheduler, which will schedule incoming client requests
Modified: cassandra/trunk/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java?rev=965685&r1=965684&r2=965685&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java Mon Jul 19 23:54:12 2010
@@ -45,9 +45,9 @@ import org.apache.cassandra.utils.FBUtil
*/
public class DynamicEndpointSnitch extends AbstractEndpointSnitch implements ILatencySubscriber, DynamicEndpointSnitchMBean
{
- private static int UPDATES_PER_INTERVAL = 100;
- private static int UPDATE_INTERVAL_IN_MS = 1000;
- private static int RESET_INTERVAL_IN_MS = 60000;
+ private static int UPDATES_PER_INTERVAL = 10000;
+ private static int UPDATE_INTERVAL_IN_MS = 100;
+ private static int RESET_INTERVAL_IN_MS = 60000 * 10;
private static int WINDOW_SIZE = 100;
private boolean registered = false;
@@ -199,7 +199,11 @@ class AdaptiveLatencyTracker extends Abs
public void add(double i)
{
- latencies.offer(i);
+ if (!latencies.offer(i))
+ {
+ latencies.remove();
+ latencies.offer(i);
+ }
}
public void clear()