Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 971d64954 -> 719caa676
  refs/heads/cassandra-3.0 854a243af -> a479fb0db
  refs/heads/cassandra-3.5 de44900a3 -> 950b1a3d2
  refs/heads/trunk 0ac03a20c -> b12413d4e


Hinted Handoff metrics fix

Patch by akale; reviewed by jkni for CASSANDRA-11168


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

Branch: refs/heads/cassandra-2.2
Commit: 719caa67649bf6f27cdd99dd7d6055d2aa8546ae
Parents: 971d649
Author: anubhavk <[email protected]>
Authored: Thu Mar 10 10:55:37 2016 -0800
Committer: Joshua McKenzie <[email protected]>
Committed: Mon Mar 14 17:59:47 2016 -0400

----------------------------------------------------------------------
 .../apache/cassandra/service/StorageProxy.java  | 31 ++++++++++----------
 1 file changed, 16 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/719caa67/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java 
b/src/java/org/apache/cassandra/service/StorageProxy.java
index 841e980..8e5ba0f 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -2117,29 +2117,30 @@ public class StorageProxy implements StorageProxyMBean
 
     public static boolean shouldHint(InetAddress ep)
     {
-        if (DatabaseDescriptor.shouldHintByDC())
+        if (DatabaseDescriptor.hintedHandoffEnabled())
         {
-            final String dc = 
DatabaseDescriptor.getEndpointSnitch().getDatacenter(ep);
-            //Disable DC specific hints
-            if(!DatabaseDescriptor.hintedHandoffEnabled(dc))
+            if (DatabaseDescriptor.shouldHintByDC())
+            {
+                final String dc = 
DatabaseDescriptor.getEndpointSnitch().getDatacenter(ep);
+                // Disable DC specific hints
+                if (!DatabaseDescriptor.hintedHandoffEnabled(dc))
+                {
+                    return false;
+                }
+            }
+
+            boolean hintWindowExpired = 
Gossiper.instance.getEndpointDowntime(ep) > 
DatabaseDescriptor.getMaxHintWindow();
+            if (hintWindowExpired)
             {
                 HintedHandOffManager.instance.metrics.incrPastWindow(ep);
-                return false;
+                Tracing.trace("Not hinting {} which has been down {}ms", ep, 
Gossiper.instance.getEndpointDowntime(ep));
             }
+            return !hintWindowExpired;
         }
-        else if (!DatabaseDescriptor.hintedHandoffEnabled())
+        else
         {
-            HintedHandOffManager.instance.metrics.incrPastWindow(ep);
             return false;
         }
-
-        boolean hintWindowExpired = Gossiper.instance.getEndpointDowntime(ep) 
> DatabaseDescriptor.getMaxHintWindow();
-        if (hintWindowExpired)
-        {
-            HintedHandOffManager.instance.metrics.incrPastWindow(ep);
-            Tracing.trace("Not hinting {} which has been down {}ms", ep, 
Gossiper.instance.getEndpointDowntime(ep));
-        }
-        return !hintWindowExpired;
     }
 
     /**

Reply via email to