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 2012/04/07 01:36:43 UTC

git commit: Avoid penalties/windows race in dsnitch

Updated Branches:
  refs/heads/trunk 5b4a7f299 -> 0cc97d91c


Avoid penalties/windows race in dsnitch


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0cc97d91
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0cc97d91
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0cc97d91

Branch: refs/heads/trunk
Commit: 0cc97d91c0cf92cd8476b5a5d0bdf7d3d66a45fc
Parents: 5b4a7f2
Author: Brandon Williams <br...@apache.org>
Authored: Fri Apr 6 18:36:35 2012 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Fri Apr 6 18:36:35 2012 -0500

----------------------------------------------------------------------
 .../cassandra/locator/DynamicEndpointSnitch.java   |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0cc97d91/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java b/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
index 3b80e67..b024916 100644
--- a/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
+++ b/src/java/org/apache/cassandra/locator/DynamicEndpointSnitch.java
@@ -248,7 +248,10 @@ public class DynamicEndpointSnitch extends AbstractEndpointSnitch implements ILa
         for (Map.Entry<InetAddress, BoundedStatsDeque> entry: windows.entrySet())
         {
             double score = entry.getValue().mean() / maxLatency;
-            score += penalties.get(entry.getKey()) / maxPenalty;
+            if (penalties.containsKey(entry.getKey()))
+                score += penalties.get(entry.getKey()) / maxPenalty;
+            else
+                score += 1; // maxPenalty / maxPenalty
             score += StorageService.instance.getSeverity(entry.getKey());
             scores.put(entry.getKey(), score);            
         }