Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 26DD9D492 for ; Tue, 18 Dec 2012 20:32:38 +0000 (UTC) Received: (qmail 52484 invoked by uid 500); 18 Dec 2012 20:32:37 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 52413 invoked by uid 500); 18 Dec 2012 20:32:37 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 51987 invoked by uid 99); 18 Dec 2012 20:32:36 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Dec 2012 20:32:36 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id B457F81E799; Tue, 18 Dec 2012 20:32:36 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: jbellis@apache.org To: commits@cassandra.apache.org X-Mailer: ASF-Git Admin Mailer Subject: [4/6] git commit: fix nodetool ownership display with vnodes patch by jbellis; reviewed by yukim for CASSANDRA-5065 Message-Id: <20121218203236.B457F81E799@tyr.zones.apache.org> Date: Tue, 18 Dec 2012 20:32:36 +0000 (UTC) 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 Authored: Tue Dec 18 14:32:07 2012 -0600 Committer: Jonathan Ellis 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 getOwnership() { List sortedTokens = tokenMetadata.sortedTokens(); // describeOwnership returns tokens in an unspecified order, let's re-order them Map tokenMap = new TreeMap(getPartitioner().describeOwnership(sortedTokens)); - Map stringMap = new LinkedHashMap(); + Map nodeMap = new LinkedHashMap(); for (Map.Entry 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; } /**