Author: jbellis
Date: Thu Sep 30 16:31:42 2010
New Revision: 1003143

URL: http://svn.apache.org/viewvc?rev=1003143&view=rev
Log:
enable/disable HintedHandoff via JMX.
patch by jbellis; reviewed by brandonwilliams for CASSANDRA-1550

Modified:
    cassandra/branches/cassandra-0.6/CHANGES.txt
    
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
    
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageProxy.java
    
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageProxyMBean.java

Modified: cassandra/branches/cassandra-0.6/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/CHANGES.txt?rev=1003143&r1=1003142&r2=1003143&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.6/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.6/CHANGES.txt Thu Sep 30 16:31:42 2010
@@ -35,6 +35,7 @@
  * MD5 authenticator compares plain text submitted password with MD5'd
    saved property, instead of vice versa (CASSANDRA-1447)
  * add memtable, cache information to GCInspector logs (CASSANDRA-1558)
+ * enable/disable HintedHandoff via JMX (CASSANDRA-1550)
 
 
 0.6.5

Modified: 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java?rev=1003143&r1=1003142&r2=1003143&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
 (original)
+++ 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
 Thu Sep 30 16:31:42 2010
@@ -29,6 +29,7 @@ import com.google.common.collect.Multima
 import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.gms.FailureDetector;
+import org.apache.cassandra.service.StorageProxy;
 import org.apache.cassandra.service.WriteResponseHandler;
 import org.apache.cassandra.thrift.ConsistencyLevel;
 import org.apache.cassandra.utils.FBUtilities;
@@ -87,7 +88,7 @@ public abstract class AbstractReplicatio
         }
 
         // if everything was alive or we're not doing HH on this keyspace, 
stop with just the live nodes
-        if (map.size() == targets.size() || 
!DatabaseDescriptor.hintedHandoffEnabled())
+        if (map.size() == targets.size() || 
!StorageProxy.isHintedHandoffEnabled())
             return map;
 
         // assign dead endpoints to be hinted to the closest live one, or to 
the local node

Modified: 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageProxy.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageProxy.java?rev=1003143&r1=1003142&r2=1003143&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageProxy.java
 (original)
+++ 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageProxy.java
 Thu Sep 30 16:31:42 2010
@@ -64,6 +64,7 @@ public class StorageProxy implements Sto
     private static final LatencyTracker readStats = new LatencyTracker();
     private static final LatencyTracker rangeStats = new LatencyTracker();
     private static final LatencyTracker writeStats = new LatencyTracker();
+    private static boolean hintedHandoffEnabled = 
DatabaseDescriptor.hintedHandoffEnabled();
 
     private StorageProxy() {}
     static
@@ -714,6 +715,21 @@ public class StorageProxy implements Sto
         return writeStats.getRecentLatencyMicros();
     }
 
+    public boolean getHintedHandoffEnabled()
+    {
+        return hintedHandoffEnabled;
+    }
+
+    public void setHintedHandoffEnabled(boolean b)
+    {
+        hintedHandoffEnabled = b;
+    }
+
+    public static boolean isHintedHandoffEnabled()
+    {
+        return hintedHandoffEnabled;
+    }
+
     static class weakReadLocalCallable implements Callable<Object>
     {
         private ReadCommand command;

Modified: 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageProxyMBean.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageProxyMBean.java?rev=1003143&r1=1003142&r2=1003143&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageProxyMBean.java
 (original)
+++ 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/service/StorageProxyMBean.java
 Thu Sep 30 16:31:42 2010
@@ -31,4 +31,7 @@ public interface StorageProxyMBean
     public long getWriteOperations();
     public long getTotalWriteLatencyMicros();
     public double getRecentWriteLatencyMicros();
+
+    public boolean getHintedHandoffEnabled();
+    public void setHintedHandoffEnabled(boolean b);
 }


Reply via email to