You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2009/12/08 22:28:34 UTC
svn commit: r888576 - in /incubator/cassandra/trunk: ./
src/java/org/apache/cassandra/gms/
Author: jbellis
Date: Tue Dec 8 21:28:33 2009
New Revision: 888576
URL: http://svn.apache.org/viewvc?rev=888576&view=rev
Log:
increase failure conviction threshold. patch by Brandon Williams; reviewed by jbellis for CASSANDRA-610
Modified:
incubator/cassandra/trunk/CHANGES.txt
incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/FailureDetector.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/IFailureDetectionEventListener.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/IFailureNotification.java
Modified: incubator/cassandra/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/CHANGES.txt?rev=888576&r1=888575&r2=888576&view=diff
==============================================================================
--- incubator/cassandra/trunk/CHANGES.txt (original)
+++ incubator/cassandra/trunk/CHANGES.txt Tue Dec 8 21:28:33 2009
@@ -16,6 +16,8 @@
* make consistency_level functional in get_range_slice (CASSANDRA-568)
* optimize key deserialization for RandomPartitioner (CASSANDRA-581)
* avoid GCing tombstones except on major compaction (CASSANDRA-604)
+ * increase failure conviction threshold, resulting in less nodes
+ incorrectly (and temporarily) marked as down (CASSANDRA-610)
0.5.0 beta
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/FailureDetector.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/FailureDetector.java?rev=888576&r1=888575&r2=888576&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/FailureDetector.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/FailureDetector.java Tue Dec 8 21:28:33 2009
@@ -45,7 +45,6 @@
{
private static Logger logger_ = Logger.getLogger(FailureDetector.class);
private static final int sampleSize_ = 1000;
- private static final int phiSuspectThreshold_ = 5;
private static final int phiConvictThreshold_ = 8;
/* The Failure Detector has to have been up for at least 1 min. */
private static final long uptimeThreshold_ = 60000;
@@ -169,27 +168,15 @@
return;
}
long now = System.currentTimeMillis();
- /* We need this so that we do not suspect a convict. */
- boolean isConvicted = false;
double phi = hbWnd.phi(now);
if (logger_.isTraceEnabled())
logger_.trace("PHI for " + ep + " : " + phi);
- /*
if ( phi > phiConvictThreshold_ )
- {
- isConvicted = true;
- for ( IFailureDetectionEventListener listener : fdEvntListeners_ )
- {
- listener.convict(ep);
- }
- }
- */
- if ( !isConvicted && phi > phiSuspectThreshold_ )
{
for ( IFailureDetectionEventListener listener : fdEvntListeners_ )
{
- listener.suspect(ep);
+ listener.convict(ep);
}
}
}
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java?rev=888576&r1=888575&r2=888576&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java Tue Dec 8 21:28:33 2009
@@ -186,34 +186,9 @@
*
* param @ endpoint end point that is convicted.
*/
-
public void convict(InetAddress endpoint)
{
EndPointState epState = endPointStateMap_.get(endpoint);
- if (epState != null)
- {
- if (!epState.isAlive() && epState.isAGossiper())
- {
- // just to be sure - should already have been done by suspect()
- if (liveEndpoints_.contains(endpoint))
- {
- logger_.info("InetAddress " + endpoint + " is now dead.");
- isAlive(endpoint, epState, false);
- }
- epState.isAGossiper(false);
- }
- }
- }
-
- /**
- * This method is part of IFailureDetectionEventListener interface. This is invoked
- * by the Failure Detector when it suspects an end point.
- *
- * param @ endpoint end point that is suspected.
- */
- public void suspect(InetAddress endpoint)
- {
- EndPointState epState = endPointStateMap_.get(endpoint);
if (epState.isAlive())
{
logger_.info("InetAddress " + endpoint + " is now dead.");
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/IFailureDetectionEventListener.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/IFailureDetectionEventListener.java?rev=888576&r1=888575&r2=888576&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/IFailureDetectionEventListener.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/IFailureDetectionEventListener.java Tue Dec 8 21:28:33 2009
@@ -21,7 +21,7 @@
import java.net.InetAddress;
/**
- * Implemented by the Gossiper to either convict/suspect an endpoint
+ * Implemented by the Gossiper to convict an endpoint
* based on the PHI calculated by the Failure Detector on the inter-arrival
* times of the heart beats.
*/
@@ -34,9 +34,4 @@
*/
public void convict(InetAddress ep);
- /**
- * Suspect the specified endpoint.
- * @param ep endpoint to be suspected.
- */
- public void suspect(InetAddress ep);
}
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/IFailureNotification.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/IFailureNotification.java?rev=888576&r1=888575&r2=888576&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/IFailureNotification.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/IFailureNotification.java Tue Dec 8 21:28:33 2009
@@ -22,6 +22,6 @@
public interface IFailureNotification
{
- public void suspect(InetAddress ep);
+ public void convict(InetAddress ep);
public void revive(InetAddress ep);
}