From 7bc4f5dc327073e431e4f8aa682db76fa3367425 Mon Sep 17 00:00:00 2001 From: Vijay Date: Sun, 9 Mar 2014 14:48:11 -0700 Subject: [PATCH] nodetool no longer shows node joining patch by driftx; reviewed by Vijay for CASSANDRA-6811 --- .../org/apache/cassandra/tools/NodeTool.java | 72 ++++++++++--------- 1 file changed, 40 insertions(+), 32 deletions(-) diff --git a/src/java/org/apache/cassandra/tools/NodeTool.java b/src/java/org/apache/cassandra/tools/NodeTool.java index d24e013dd0..5120739825 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 entry : filteredOwnerships.entrySet()) + for (Map.Entry 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"; - } - - 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); + 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; + 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(); }