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);


Reply via email to