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/04/22 20:40:37 UTC
svn commit: r767610 -
/incubator/cassandra/trunk/src/org/apache/cassandra/gms/FailureDetector.java
Author: jbellis
Date: Wed Apr 22 18:40:36 2009
New Revision: 767610
URL: http://svn.apache.org/viewvc?rev=767610&view=rev
Log:
replace ArrayList w/ ArrayDeque.
patch by jbellis; reviewed by Jun Rao for #14
Modified:
incubator/cassandra/trunk/src/org/apache/cassandra/gms/FailureDetector.java
Modified: incubator/cassandra/trunk/src/org/apache/cassandra/gms/FailureDetector.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/org/apache/cassandra/gms/FailureDetector.java?rev=767610&r1=767609&r2=767610&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/org/apache/cassandra/gms/FailureDetector.java (original)
+++ incubator/cassandra/trunk/src/org/apache/cassandra/gms/FailureDetector.java Wed Apr 22 18:40:36 2009
@@ -27,12 +27,13 @@
import javax.management.MBeanServer;
import javax.management.ObjectName;
+import org.apache.commons.lang.StringUtils;
+
import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.net.EndPoint;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.LogUtil;
import org.apache.log4j.Logger;
-import org.apache.cassandra.utils.*;
/**
* This FailureDetector is an implementation of the paper titled
@@ -234,20 +235,20 @@
{
private static Logger logger_ = Logger.getLogger(ArrivalWindow.class);
private double tLast_ = 0L;
- private List<Double> arrivalIntervals_;
+ private Deque<Double> arrivalIntervals_;
private int size_;
ArrivalWindow(int size)
{
size_ = size;
- arrivalIntervals_ = new ArrayList<Double>(size);
+ arrivalIntervals_ = new ArrayDeque<Double>(size);
}
synchronized void add(double value)
{
if ( arrivalIntervals_.size() == size_ )
{
- arrivalIntervals_.remove(0);
+ arrivalIntervals_.remove();
}
double interArrivalTime;
@@ -266,10 +267,9 @@
synchronized double sum()
{
double sum = 0d;
- int size = arrivalIntervals_.size();
- for( int i = 0; i < size; ++i )
+ for (Double interval : arrivalIntervals_)
{
- sum += arrivalIntervals_.get(i);
+ sum += interval;
}
return sum;
}
@@ -278,12 +278,13 @@
{
double sumOfDeviations = 0d;
double mean = mean();
- int size = arrivalIntervals_.size();
-
- for( int i = 0; i < size; ++i )
+
+ for (Double interval : arrivalIntervals_)
{
- sumOfDeviations += (arrivalIntervals_.get(i) - mean)*(arrivalIntervals_.get(i) - mean);
+ double v = interval - mean;
+ sumOfDeviations += v * v;
}
+
return sumOfDeviations;
}
@@ -333,15 +334,7 @@
public String toString()
{
- StringBuilder sb = new StringBuilder();
- List<Double> arrivalIntervals = new ArrayList<Double>(arrivalIntervals_);
- int size = arrivalIntervals.size();
- for ( int i = 0; i < size; ++i )
- {
- sb.append(arrivalIntervals.get(i));
- sb.append(" ");
- }
- return sb.toString();
+ return StringUtils.join(arrivalIntervals_, " ");
}
}