You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2015/01/06 16:31:24 UTC

[2/6] cassandra git commit: Improve FD logging when the arrival time is ignored.

Improve FD logging when the arrival time is ignored.

Patch by Brandon Williams for CASSANDRA-8245


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/eb9c5bbc
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/eb9c5bbc
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/eb9c5bbc

Branch: refs/heads/cassandra-2.1
Commit: eb9c5bbcfdaf498967052e02af65fa9f8167887d
Parents: a223082
Author: Brandon Williams <br...@apache.org>
Authored: Tue Jan 6 09:30:07 2015 -0600
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Jan 6 09:30:07 2015 -0600

----------------------------------------------------------------------
 .../apache/cassandra/gms/FailureDetector.java   |  8 +++----
 .../apache/cassandra/gms/ArrivalWindowTest.java | 24 +++++++++++++++-----
 2 files changed, 22 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/eb9c5bbc/src/java/org/apache/cassandra/gms/FailureDetector.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/gms/FailureDetector.java b/src/java/org/apache/cassandra/gms/FailureDetector.java
index 60729d3..e247e48 100644
--- a/src/java/org/apache/cassandra/gms/FailureDetector.java
+++ b/src/java/org/apache/cassandra/gms/FailureDetector.java
@@ -211,12 +211,12 @@ public class FailureDetector implements IFailureDetector, FailureDetectorMBean
         {
             // avoid adding an empty ArrivalWindow to the Map
             heartbeatWindow = new ArrivalWindow(SAMPLE_SIZE);
-            heartbeatWindow.add(now);
+            heartbeatWindow.add(now, ep);
             arrivalSamples.put(ep, heartbeatWindow);
         }
         else
         {
-            heartbeatWindow.add(now);
+            heartbeatWindow.add(now, ep);
         }
     }
 
@@ -326,7 +326,7 @@ class ArrivalWindow
         }
     }
 
-    synchronized void add(long value)
+    synchronized void add(long value, InetAddress ep)
     {
         assert tLast >= 0;
         if (tLast > 0L)
@@ -335,7 +335,7 @@ class ArrivalWindow
             if (interArrivalTime <= MAX_INTERVAL_IN_NANO)
                 arrivalIntervals.add(interArrivalTime);
             else
-                logger.debug("Ignoring interval time of {}", interArrivalTime);
+                logger.debug("Ignoring interval time of {} for {}", interArrivalTime, ep);
         }
         else
         {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/eb9c5bbc/test/unit/org/apache/cassandra/gms/ArrivalWindowTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/gms/ArrivalWindowTest.java b/test/unit/org/apache/cassandra/gms/ArrivalWindowTest.java
index e678d86..511511b 100644
--- a/test/unit/org/apache/cassandra/gms/ArrivalWindowTest.java
+++ b/test/unit/org/apache/cassandra/gms/ArrivalWindowTest.java
@@ -25,6 +25,10 @@ import static org.junit.Assert.*;
 
 import org.junit.Test;
 
+import java.lang.RuntimeException;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
 public class ArrivalWindowTest
 {
     @Test
@@ -32,12 +36,20 @@ public class ArrivalWindowTest
     {
         final ArrivalWindow windowWithNano = new ArrivalWindow(4);
         final long toNano = 1000000L;
-
-        windowWithNano.add(111 * toNano);
-        windowWithNano.add(222 * toNano);
-        windowWithNano.add(333 * toNano);
-        windowWithNano.add(444 * toNano);
-        windowWithNano.add(555 * toNano);
+        InetAddress ep;
+        try
+        {
+            ep = InetAddress.getLocalHost();
+        }
+        catch (UnknownHostException e)
+        {
+            throw new RuntimeException(e);
+        }
+        windowWithNano.add(111 * toNano, ep);
+        windowWithNano.add(222 * toNano, ep);
+        windowWithNano.add(333 * toNano, ep);
+        windowWithNano.add(444 * toNano, ep);
+        windowWithNano.add(555 * toNano, ep);
 
         //all good
         assertEquals(1.0, windowWithNano.phi(666 * toNano), 0.01);