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