You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2012/12/18 21:32:36 UTC

[4/6] git commit: fix nodetool ownership display with vnodes patch by jbellis; reviewed by yukim for CASSANDRA-5065

fix nodetool ownership display with vnodes
patch by jbellis; reviewed by yukim for CASSANDRA-5065


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

Branch: refs/heads/trunk
Commit: d67816bee5271a4f65116561950bbd2b6fcf51a4
Parents: bc598b5
Author: Jonathan Ellis <jb...@apache.org>
Authored: Tue Dec 18 14:32:07 2012 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Tue Dec 18 14:32:13 2012 -0600

----------------------------------------------------------------------
 CHANGES.txt                                        |    1 +
 .../apache/cassandra/service/StorageService.java   |   18 ++++++++------
 2 files changed, 11 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d67816be/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 4a13a7c..2e789fa 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 1.2.0-rc2
+ * fix nodetool ownership display with vnodes (CASSANDRA-5065)
  * cqlsh: add DESCRIBE KEYSPACES command (CASSANDRA-5060)
  * Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
  * Fix SimpleAuthorizer example (CASSANDRA-5072)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d67816be/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index 5577680..9cddc1a 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -3207,20 +3207,22 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe
         }
     }
 
-    public boolean isDcAwareReplicationStrategy(String keyspace)
-    {
-        return SimpleStrategy.class != Table.open(keyspace).getReplicationStrategy().getClass();
-    }
-
     public Map<InetAddress, Float> getOwnership()
     {
         List<Token> sortedTokens = tokenMetadata.sortedTokens();
         // describeOwnership returns tokens in an unspecified order, let's re-order them
         Map<Token, Float> tokenMap = new TreeMap<Token, Float>(getPartitioner().describeOwnership(sortedTokens));
-        Map<InetAddress, Float> stringMap = new LinkedHashMap<InetAddress, Float>();
+        Map<InetAddress, Float> nodeMap = new LinkedHashMap<InetAddress, Float>();
         for (Map.Entry<Token, Float> entry : tokenMap.entrySet())
-            stringMap.put(tokenMetadata.getEndpoint(entry.getKey()), entry.getValue());
-        return stringMap;
+        {
+            InetAddress endpoint = tokenMetadata.getEndpoint(entry.getKey());
+            Float tokenOwnership = entry.getValue();
+            if (nodeMap.containsKey(endpoint))
+                nodeMap.put(endpoint, nodeMap.get(endpoint) + tokenOwnership);
+            else
+                nodeMap.put(endpoint, tokenOwnership);
+        }
+        return nodeMap;
     }
 
     /**