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/02/28 17:25:07 UTC
svn commit: r1075409 - in
/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools:
NodeCmd.java NodeProbe.java
Author: brandonwilliams
Date: Mon Feb 28 16:25:06 2011
New Revision: 1075409
URL: http://svn.apache.org/viewvc?rev=1075409&view=rev
Log:
Add "join" command to nodetool
Patch by Pavel Yaskevich, reviewed by Sylvain Lebresne for
CASSANDRA-2160
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeProbe.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=1075409&r1=1075408&r2=1075409&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 Mon Feb 28 16:25:06 2011
@@ -31,6 +31,8 @@ import java.util.Map.Entry;
import java.util.concurrent.ExecutionException;
import org.apache.cassandra.utils.Pair;
+import org.apache.cassandra.config.ConfigurationException;
+
import org.apache.commons.cli.*;
import org.apache.cassandra.cache.JMXInstrumentedCacheMBean;
@@ -74,7 +76,7 @@ public class NodeCmd
DECOMMISSION, MOVE, LOADBALANCE, REMOVETOKEN, REPAIR, CLEANUP, COMPACT, SCRUB,
SETCACHECAPACITY, GETCOMPACTIONTHRESHOLD, SETCOMPACTIONTHRESHOLD, NETSTATS, CFHISTOGRAMS,
COMPACTIONSTATS, DISABLEGOSSIP, ENABLEGOSSIP, INVALIDATEKEYCACHE, INVALIDATEROWCACHE,
- DISABLETHRIFT, ENABLETHRIFT
+ DISABLETHRIFT, ENABLETHRIFT, JOIN
}
@@ -88,6 +90,7 @@ public class NodeCmd
header.append("\nAvailable commands:\n");
// No args
addCmdHelp(header, "ring", "Print informations on the token ring");
+ addCmdHelp(header, "join", "Join the ring");
addCmdHelp(header, "info", "Print node informations (uptime, load, ...)");
addCmdHelp(header, "cfstats", "Print statistics on column families");
addCmdHelp(header, "clearsnapshot", "Remove all existing snapshots");
@@ -465,7 +468,7 @@ public class NodeCmd
}
}
- public static void main(String[] args) throws IOException, InterruptedException, ParseException
+ public static void main(String[] args) throws IOException, InterruptedException, ConfigurationException, ParseException
{
CommandLineParser parser = new PosixParser();
ToolCommandLine cmd = null;
@@ -561,6 +564,16 @@ public class NodeCmd
probe.move(arguments[0]);
break;
+ case JOIN:
+ if (probe.isJoined())
+ {
+ System.err.println("This node has already joined the ring.");
+ System.exit(1);
+ }
+
+ probe.joinRing();
+ break;
+
case REMOVETOKEN :
if (arguments.length != 1) { badUse("Missing an argument for removetoken (either status, force, or a token)"); }
else if (arguments[0].equals("status")) { nodeCmd.printRemovalStatus(System.out); }
Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeProbe.java
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeProbe.java?rev=1075409&r1=1075408&r2=1075409&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeProbe.java (original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeProbe.java Mon Feb 28 16:25:06 2011
@@ -332,6 +332,16 @@ public class NodeProbe
ssProxy.clearSnapshot();
}
+ public boolean isJoined()
+ {
+ return ssProxy.isJoined();
+ }
+
+ public void joinRing() throws IOException, ConfigurationException
+ {
+ ssProxy.joinRing();
+ }
+
public void decommission() throws InterruptedException
{
ssProxy.decommission();