Author: jbellis
Date: Thu Dec 22 20:15:40 2011
New Revision: 1222419
URL: http://svn.apache.org/viewvc?rev=1222419&view=rev
Log:
add nodetool setstreamthroughput
patch by Peter Schuller; reviewed by yukim for CASSANDRA-3571
Modified:
cassandra/branches/cassandra-1.0/CHANGES.txt
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/service/StorageService.java
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/service/StorageServiceMBean.java
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/tools/NodeCmd.java
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/tools/NodeProbe.java
Modified: cassandra/branches/cassandra-1.0/CHANGES.txt
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/CHANGES.txt?rev=1222419&r1=1222418&r2=1222419&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0/CHANGES.txt (original)
+++ cassandra/branches/cassandra-1.0/CHANGES.txt Thu Dec 22 20:15:40 2011
@@ -1,4 +1,5 @@
1.0.7
+ * add nodetool setstreamthroughput (CASSANDRA-3571)
* fix assertion when dropping a columnfamily with no sstables (CASSANDRA-3614)
* more efficient allocation of small bloom filters (CASSANDRA-3618)
* CLibrary.createHardLinkWithExec() to check for errors (CASSANDRA-3101)
Modified:
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/service/StorageService.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/service/StorageService.java?rev=1222419&r1=1222418&r2=1222419&view=diff
==============================================================================
---
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/service/StorageService.java
(original)
+++
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/service/StorageService.java
Thu Dec 22 20:15:40 2011
@@ -634,6 +634,17 @@ public class StorageService implements I
return joined;
}
+ public void setStreamThroughputMbPerSec(int value)
+ {
+ DatabaseDescriptor.setStreamThroughputOutboundMegabitsPerSec(value);
+ logger_.info("setstreamthroughput: throttle set to {}", value);
+ }
+
+ public int getStreamThroughputMbPerSec()
+ {
+ return DatabaseDescriptor.getStreamThroughputOutboundMegabitsPerSec();
+ }
+
public int getCompactionThroughputMbPerSec()
{
return DatabaseDescriptor.getCompactionThroughputMbPerSec();
Modified:
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/service/StorageServiceMBean.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/service/StorageServiceMBean.java?rev=1222419&r1=1222418&r2=1222419&view=diff
==============================================================================
---
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/service/StorageServiceMBean.java
(original)
+++
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/service/StorageServiceMBean.java
Thu Dec 22 20:15:40 2011
@@ -351,6 +351,9 @@ public interface StorageServiceMBean
public boolean isJoined();
public int getExceptionCount();
+
+ public void setStreamThroughputMbPerSec(int value);
+ public int getStreamThroughputMbPerSec();
public int getCompactionThroughputMbPerSec();
public void setCompactionThroughputMbPerSec(int value);
Modified:
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/tools/NodeCmd.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=1222419&r1=1222418&r2=1222419&view=diff
==============================================================================
---
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/tools/NodeCmd.java
(original)
+++
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/tools/NodeCmd.java
Thu Dec 22 20:15:40 2011
@@ -108,6 +108,7 @@ public class NodeCmd
SETCACHECAPACITY,
SETCOMPACTIONTHRESHOLD,
SETCOMPACTIONTHROUGHPUT,
+ SETSTREAMTHROUGHPUT,
SNAPSHOT,
STATUSTHRIFT,
TPSTATS,
@@ -147,6 +148,7 @@ public class NodeCmd
addCmdHelp(header, "move <new token>", "Move node on the token ring to
a new token");
addCmdHelp(header, "removetoken status|force|<token>", "Show status of
current token removal, force completion of pending removal or remove providen
token");
addCmdHelp(header, "setcompactionthroughput <value_in_mb>", "Set the
MB/s throughput cap for compaction in the system, or 0 to disable throttling.");
+ addCmdHelp(header, "setstreamthroughput <value_in_mb>", "Set the MB/s
throughput cap for streaming in the system, or 0 to disable throttling.");
addCmdHelp(header, "describering [keyspace]", "Shows the token ranges
info of a given keyspace.");
// Two args
@@ -694,6 +696,11 @@ public class NodeCmd
probe.setCompactionThroughput(Integer.valueOf(arguments[0]));
break;
+ case SETSTREAMTHROUGHPUT :
+ if (arguments.length != 1) { badUse("Missing value
argument."); }
+ probe.setStreamThroughput(Integer.valueOf(arguments[0]));
+ 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-1.0/src/java/org/apache/cassandra/tools/NodeProbe.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/tools/NodeProbe.java?rev=1222419&r1=1222418&r2=1222419&view=diff
==============================================================================
---
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/tools/NodeProbe.java
(original)
+++
cassandra/branches/cassandra-1.0/src/java/org/apache/cassandra/tools/NodeProbe.java
Thu Dec 22 20:15:40 2011
@@ -636,6 +636,11 @@ public class NodeProbe
return fdProxy.getAllEndpointStates();
}
+ public void setStreamThroughput(int value)
+ {
+ ssProxy.setStreamThroughputMbPerSec(value);
+ }
+
public List<String> describeRing(String keyspaceName) throws
InvalidRequestException
{
return ssProxy.describeRingJMX(keyspaceName);