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 <[email protected]> Authored: Fri Apr 6 18:36:35 2012 -0500 Committer: Brandon Williams <[email protected]> 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); }
