Author: gdusbabek
Date: Thu Jul 29 15:58:29 2010
New Revision: 980492
URL: http://svn.apache.org/viewvc?rev=980492&view=rev
Log:
print a more friendly error when printRing gets IllegalState. Patch by Nate
McCall, reviewed by Gary Dusbabek. CASSANDRA-1310
Modified:
cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java
Modified: cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=980492&r1=980491&r2=980492&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java Thu Jul 29
15:58:29 2010
@@ -91,13 +91,20 @@ public class NodeCmd {
*/
public void printRing(PrintStream outs)
{
- Map<Range, List<String>> rangeMap = probe.getRangeToEndpointMap(null);
- Map<Range, List<String>> pendingRangeMap =
probe.getPendingRangeToEndpoingMap(null);
+
Map<Range, List<String>> rangesToIterate = new HashMap<Range,
List<String>>();
-
- rangesToIterate.putAll(pendingRangeMap);
- rangesToIterate.putAll(rangeMap);
-
+ try
+ {
+ rangesToIterate.putAll(probe.getPendingRangeToEndpoingMap(null));
+ rangesToIterate.putAll(probe.getRangeToEndpointMap(null));
+ }
+ catch (IllegalStateException ise)
+ {
+ outs.println(String.format("Ring information unavailable:
%s",ise.getMessage()));
+ return;
+ }
+
+
List<Range> ranges = new ArrayList<Range>(rangesToIterate.keySet());
Collections.sort(ranges);
Set<String> liveNodes = probe.getLiveNodes();