Repository: cassandra Updated Branches: refs/heads/cassandra-2.1.0 f06761734 -> 0623ea86a
Don't depend on cassandra config for nodetool ring Backport of CASSANDRA-7508 to cassandra-2.0 by Tyler Hobbs Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/74f3204c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/74f3204c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/74f3204c Branch: refs/heads/cassandra-2.1.0 Commit: 74f3204c664df5de8e83adef978647bb4dd1a895 Parents: 7c46fd4 Author: Tyler Hobbs <ty...@datastax.com> Authored: Wed Aug 13 11:30:42 2014 -0500 Committer: Tyler Hobbs <ty...@datastax.com> Committed: Wed Aug 13 11:30:42 2014 -0500 ---------------------------------------------------------------------- CHANGES.txt | 1 + src/java/org/apache/cassandra/tools/NodeCmd.java | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/74f3204c/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 53d3297..3d31948 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.0.10 + * Don't depend on cassandra config for nodetool ring (CASSANDRA-7508) * (cqlsh) Fix failing cqlsh formatting tests (CASSANDRA-7703) * Fix MS expiring map timeout for Paxos messages (CASSANDRA-7752) * Do not flush on truncate if durable_writes is false (CASSANDRA-7750) http://git-wip-us.apache.org/repos/asf/cassandra/blob/74f3204c/src/java/org/apache/cassandra/tools/NodeCmd.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tools/NodeCmd.java b/src/java/org/apache/cassandra/tools/NodeCmd.java index aeed913..4d9992f 100644 --- a/src/java/org/apache/cassandra/tools/NodeCmd.java +++ b/src/java/org/apache/cassandra/tools/NodeCmd.java @@ -34,7 +34,6 @@ import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.Maps; -import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.utils.FBUtilities; import org.apache.commons.cli.*; import org.yaml.snakeyaml.Yaml; @@ -254,8 +253,12 @@ public class NodeCmd { Map<String, String> tokensToEndpoints = probe.getTokenToEndpointMap(); LinkedHashMultimap<String, String> endpointsToTokens = LinkedHashMultimap.create(); + boolean haveVnodes = false; for (Map.Entry<String, String> entry : tokensToEndpoints.entrySet()) + { + haveVnodes |= endpointsToTokens.containsKey(entry.getValue()); endpointsToTokens.put(entry.getValue(), entry.getKey()); + } int maxAddressLength = Collections.max(endpointsToTokens.keys(), new Comparator<String>() { @Override @@ -293,7 +296,7 @@ public class NodeCmd throw new RuntimeException(e); } - if(DatabaseDescriptor.getNumTokens() > 1) + if(haveVnodes) { outs.println(" Warning: \"nodetool ring\" is used to output all the tokens of a node."); outs.println(" To view status related info of a node use \"nodetool status\" instead.\n");