You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2011/07/15 01:42:12 UTC
svn commit: r1146923 -
/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java
Author: brandonwilliams
Date: Thu Jul 14 23:42:11 2011
New Revision: 1146923
URL: http://svn.apache.org/viewvc?rev=1146923&view=rev
Log:
Do not allow extra params to nodetool commands to prevent confusion.
Patch by Jon Hermes, reviewed by brandonwilliams for CASSANDRA-2740
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java
Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=1146923&r1=1146922&r2=1146923&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java Thu Jul 14 23:42:11 2011
@@ -539,19 +539,19 @@ public class NodeCmd
switch (command)
{
- case RING : nodeCmd.printRing(System.out); break;
- case INFO : nodeCmd.printInfo(System.out); break;
- case CFSTATS : nodeCmd.printColumnFamilyStats(System.out); break;
- case DECOMMISSION : probe.decommission(); break;
- case LOADBALANCE : probe.loadBalance(); break;
- case CLEARSNAPSHOT : probe.clearSnapshot(); break;
- case TPSTATS : nodeCmd.printThreadPoolStats(System.out); break;
- case VERSION : nodeCmd.printReleaseVersion(System.out); break;
- case COMPACTIONSTATS : nodeCmd.printCompactionStats(System.out); break;
- case DISABLEGOSSIP : probe.stopGossiping(); break;
- case ENABLEGOSSIP : probe.startGossiping(); break;
- case DISABLETHRIFT : probe.stopThriftServer(); break;
- case ENABLETHRIFT : probe.startThriftServer(); break;
+ case RING : complainNonzeroArgs(arguments, command); nodeCmd.printRing(System.out); break;
+ case INFO : complainNonzeroArgs(arguments, command); nodeCmd.printInfo(System.out); break;
+ case CFSTATS : complainNonzeroArgs(arguments, command); nodeCmd.printColumnFamilyStats(System.out); break;
+ case DECOMMISSION : complainNonzeroArgs(arguments, command); probe.decommission(); break;
+ case LOADBALANCE : complainNonzeroArgs(arguments, command); probe.loadBalance(); break;
+ case CLEARSNAPSHOT : complainNonzeroArgs(arguments, command); probe.clearSnapshot(); break;
+ case TPSTATS : complainNonzeroArgs(arguments, command); nodeCmd.printThreadPoolStats(System.out); break;
+ case VERSION : complainNonzeroArgs(arguments, command); nodeCmd.printReleaseVersion(System.out); break;
+ case COMPACTIONSTATS : complainNonzeroArgs(arguments, command); nodeCmd.printCompactionStats(System.out); break;
+ case DISABLEGOSSIP : complainNonzeroArgs(arguments, command); probe.stopGossiping(); break;
+ case ENABLEGOSSIP : complainNonzeroArgs(arguments, command); probe.startGossiping(); break;
+ case DISABLETHRIFT : complainNonzeroArgs(arguments, command); probe.stopThriftServer(); break;
+ case ENABLETHRIFT : complainNonzeroArgs(arguments, command); probe.startThriftServer(); break;
case DRAIN :
try { probe.drain(); }
@@ -647,6 +647,15 @@ public class NodeCmd
System.exit(3);
}
+ private static void complainNonzeroArgs(String[] args, NodeCommand cmd)
+ {
+ if (args.length > 0) {
+ System.err.println("Too many arguments for command '"+cmd.toString()+"'.");
+ printUsage();
+ System.exit(1);
+ }
+ }
+
private static void optionalKSandCFs(NodeCommand nc, String[] cmdArgs, NodeProbe probe) throws InterruptedException, IOException
{
// if there is one additional arg, it's the keyspace; more are columnfamilies