nodetool no longer shows node joining
patch by driftx; reviewed by Vijay for CASSANDRA-6811


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

Branch: refs/heads/trunk
Commit: 7bc4f5dc327073e431e4f8aa682db76fa3367425
Parents: eb6a7b4
Author: Vijay <vijay2...@gmail.com>
Authored: Sun Mar 9 14:48:11 2014 -0700
Committer: Vijay <vijay2...@gmail.com>
Committed: Sun Mar 9 19:15:57 2014 -0700

----------------------------------------------------------------------
 .../org/apache/cassandra/tools/NodeTool.java    | 70 +++++++++++---------
 1 file changed, 39 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7bc4f5dc/src/java/org/apache/cassandra/tools/NodeTool.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/tools/NodeTool.java 
b/src/java/org/apache/cassandra/tools/NodeTool.java
index d24e013..5120739 100644
--- a/src/java/org/apache/cassandra/tools/NodeTool.java
+++ b/src/java/org/apache/cassandra/tools/NodeTool.java
@@ -506,41 +506,49 @@ public class NodeTool
             else
                 System.out.println();
 
-            for (Map.Entry<InetAddress, Float> entry : 
filteredOwnerships.entrySet())
+            for (Map.Entry<String, String> entry : endpointsToTokens.entries())
             {
-                String endpoint = entry.getKey().getHostAddress();
-                for (String token : endpointsToTokens.get(endpoint))
+                String endpoint = entry.getKey();
+                String rack;
+                try
                 {
-                    String rack;
-                    try
-                    {
-                        rack = 
probe.getEndpointSnitchInfoProxy().getRack(endpoint);
-                    } catch (UnknownHostException e)
-                    {
-                        rack = "Unknown";
-                    }
+                    rack = 
probe.getEndpointSnitchInfoProxy().getRack(endpoint);
+                }
+                catch (UnknownHostException e)
+                {
+                    rack = "Unknown";
+                }
 
-                    String status = liveNodes.contains(endpoint)
-                                    ? "Up"
-                                    : deadNodes.contains(endpoint)
-                                      ? "Down"
-                                      : "?";
-
-                    String state = "Normal";
-
-                    if (joiningNodes.contains(endpoint))
-                        state = "Joining";
-                    else if (leavingNodes.contains(endpoint))
-                        state = "Leaving";
-                    else if (movingNodes.contains(endpoint))
-                        state = "Moving";
-
-                    String load = loadMap.containsKey(endpoint)
-                                  ? loadMap.get(endpoint)
-                                  : "?";
-                    String owns = new 
DecimalFormat("##0.00%").format(entry.getValue());
-                    System.out.printf(format, endpoint, rack, status, state, 
load, owns, token);
+                String status = liveNodes.contains(endpoint)
+                        ? "Up"
+                        : deadNodes.contains(endpoint)
+                                ? "Down"
+                                : "?";
+
+                String state = "Normal";
+
+                if (joiningNodes.contains(endpoint))
+                    state = "Joining";
+                else if (leavingNodes.contains(endpoint))
+                    state = "Leaving";
+                else if (movingNodes.contains(endpoint))
+                    state = "Moving";
+
+                String load = loadMap.containsKey(endpoint)
+                        ? loadMap.get(endpoint)
+                        : "?";
+                String owns;
+                try
+                {
+                    InetAddress ep = InetAddress.getByName(endpoint);
+                    Float percent = filteredOwnerships.get(ep);
+                    owns = (percent != null) ? new 
DecimalFormat("##0.00%").format(percent) : "?";
+                }
+                catch (UnknownHostException e)
+                {
+                    throw new RuntimeException(e);
                 }
+                System.out.printf(format, endpoint, rack, status, state, load, 
owns, entry.getValue());
             }
             System.out.println();
         }

Reply via email to