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/trunk 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; } /**
