Repository: cassandra
Updated Branches:
  refs/heads/trunk e48a00b6d -> 67ed3375b


reduce garbage creation in calculatePendingRanges

patch by dbrosius reviewed by bwilliams for cassandra-7191


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

Branch: refs/heads/trunk
Commit: d839350f42405ccd85ff478bd13bad9920522dee
Parents: 21b3a67
Author: Dave Brosius <dbros...@mebigfatguy.com>
Authored: Wed May 7 21:17:48 2014 -0400
Committer: Dave Brosius <dbros...@mebigfatguy.com>
Committed: Wed May 7 21:17:48 2014 -0400

----------------------------------------------------------------------
 CHANGES.txt                                                    | 1 +
 .../cassandra/service/PendingRangeCalculatorService.java       | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d839350f/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 8533e64..312cf06 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -22,6 +22,7 @@
  * fix time conversion to milliseconds in SimpleCondition.await 
(CASSANDRA-7149)
  * remove duplicate query for local tokens (CASSANDRA-7182)
  * raise streaming phi convict threshold level (CASSANDRA-7063)
+ * reduce garbage creation in calculatePendingRanges (CASSANDRA-7191)
 
 1.2.16
  * Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d839350f/src/java/org/apache/cassandra/service/PendingRangeCalculatorService.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/cassandra/service/PendingRangeCalculatorService.java 
b/src/java/org/apache/cassandra/service/PendingRangeCalculatorService.java
index b408c75..6f77ace 100644
--- a/src/java/org/apache/cassandra/service/PendingRangeCalculatorService.java
+++ b/src/java/org/apache/cassandra/service/PendingRangeCalculatorService.java
@@ -43,7 +43,6 @@ import java.util.Set;
 import java.util.Collection;
 import java.util.concurrent.*;
 
-
 public class PendingRangeCalculatorService extends 
PendingRangeCalculatorServiceMBean
 {
     public static final PendingRangeCalculatorService instance = new 
PendingRangeCalculatorService();
@@ -157,9 +156,10 @@ public class PendingRangeCalculatorService extends 
PendingRangeCalculatorService
 
         // For each of the bootstrapping nodes, simply add and remove them one 
by one to
         // allLeftMetadata and check in between what their ranges would be.
-        for (InetAddress endpoint : bootstrapTokens.inverse().keySet())
+        Multimap<InetAddress, Token> bootstrapAddresses = 
bootstrapTokens.inverse();
+        for (InetAddress endpoint : bootstrapAddresses.keySet())
         {
-            Collection<Token> tokens = bootstrapTokens.inverse().get(endpoint);
+            Collection<Token> tokens = bootstrapAddresses.get(endpoint);
 
             allLeftMetadata.updateNormalTokens(tokens, endpoint);
             for (Range<Token> range : 
strategy.getAddressRanges(allLeftMetadata).get(endpoint))

Reply via email to