Author: gdusbabek
Date: Wed Apr 14 20:18:41 2010
New Revision: 934174
URL: http://svn.apache.org/viewvc?rev=934174&view=rev
Log:
expose drain via nodetool. Patch by Roger Schildmeijer, reviewed by Gary
Dusbabek. CASSANDRA-978
Modified:
cassandra/branches/cassandra-0.6/CHANGES.txt
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/tools/NodeCmd.java
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/tools/NodeProbe.java
Modified: cassandra/branches/cassandra-0.6/CHANGES.txt
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/CHANGES.txt?rev=934174&r1=934173&r2=934174&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.6/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.6/CHANGES.txt Wed Apr 14 20:18:41 2010
@@ -18,6 +18,7 @@
a supercolumn in a row that had been deleted previously (CASSANDRA-920)
* fix index scans that cross the 2GB mmap boundaries for both mmap
and standard i/o modes (CASSANDRA-866)
+ * expose drain via nodetool (CASSANDRA-978)
0.6.0-RC1
Modified:
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/tools/NodeCmd.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=934174&r1=934173&r2=934174&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/tools/NodeCmd.java
(original)
+++
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/tools/NodeCmd.java
Wed Apr 14 20:18:41 2010
@@ -34,6 +34,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
+import java.util.concurrent.ExecutionException;
import org.apache.cassandra.cache.JMXInstrumentedCacheMBean;
import org.apache.cassandra.concurrent.IExecutorMBean;
@@ -76,7 +77,7 @@ public class NodeCmd {
HelpFormatter hf = new HelpFormatter();
String header = String.format(
"%nAvailable commands: ring, info, cleanup, compact, cfstats,
snapshot [snapshotname], clearsnapshot, " +
- "tpstats, flush, repair, decommission, move, loadbalance,
removetoken, " +
+ "tpstats, flush, drain, repair, decommission, move,
loadbalance, removetoken, " +
"setcachecapacity <keyspace> <cfname> <keycachecapacity>
<rowcachecapacity>, " +
"getcompactionthreshold, setcompactionthreshold [minthreshold]
([maxthreshold])" +
"streams [host]");
@@ -502,6 +503,18 @@ public class NodeCmd {
else // cmdName.equals("repair")
probe.forceTableRepair(cmd.getArgs()[1], columnFamilies);
}
+ else if (cmdName.equals("drain"))
+ {
+ try
+ {
+ probe.drain();
+ } catch (ExecutionException ee)
+ {
+ System.err.println("Error occured during flushing");
+ ee.printStackTrace();
+ System.exit(3);
+ }
+ }
else if (cmdName.equals("setcachecapacity"))
{
if (cmd.getArgs().length != 5)
Modified:
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/tools/NodeProbe.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/tools/NodeProbe.java?rev=934174&r1=934173&r2=934174&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/tools/NodeProbe.java
(original)
+++
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/tools/NodeProbe.java
Wed Apr 14 20:18:41 2010
@@ -33,6 +33,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
+import java.util.concurrent.ExecutionException;
import javax.management.*;
import javax.management.remote.JMXConnector;
@@ -145,6 +146,11 @@ public class NodeProbe
ssProxy.forceTableRepair(tableName, columnFamilies);
}
+ public void drain() throws IOException, InterruptedException,
ExecutionException
+ {
+ ssProxy.drain();
+ }
+
public Map<Range, List<String>> getRangeToEndPointMap(String tableName)
{
return ssProxy.getRangeToEndPointMap(tableName);