summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2020-02-11 07:28:52 +0100
committerGitHub <noreply@github.com>2020-02-11 07:28:52 +0100
commit36aa7473681171f2a1b882a860b79051bb784e47 (patch)
treee92c8b0b23f2092b7f364b99eaa48377193e23d8
parent0a66f8f17eba82f9c0cbfbbbe37c2fcdefe93063 (diff)
parentf3c3397d99d81f94056a3fc217600e0d07f31b63 (diff)
Merge pull request #12140 from vespa-engine/balder/900ms-ping
Ping timeout must be shorter than ping period, and add deprecation.
-rw-r--r--container-search/src/main/java/com/yahoo/search/cluster/BaseNodeMonitor.java2
-rw-r--r--container-search/src/main/java/com/yahoo/search/cluster/ClusterMonitor.java2
-rw-r--r--container-search/src/main/java/com/yahoo/search/cluster/MonitorConfiguration.java59
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java2
4 files changed, 20 insertions, 45 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/cluster/BaseNodeMonitor.java b/container-search/src/main/java/com/yahoo/search/cluster/BaseNodeMonitor.java
index dd01d895963..0d491d2f0c1 100644
--- a/container-search/src/main/java/com/yahoo/search/cluster/BaseNodeMonitor.java
+++ b/container-search/src/main/java/com/yahoo/search/cluster/BaseNodeMonitor.java
@@ -79,6 +79,8 @@ public abstract class BaseNodeMonitor<T> {
*/
public abstract void responded();
+ /** @deprecated Not used */
+ @Deprecated // TODO: Remove on Vespa 8
public boolean isIdle() {
return (now()-respondedAt) >= configuration.getIdleLimit();
}
diff --git a/container-search/src/main/java/com/yahoo/search/cluster/ClusterMonitor.java b/container-search/src/main/java/com/yahoo/search/cluster/ClusterMonitor.java
index 55f0816514d..15cf4995b77 100644
--- a/container-search/src/main/java/com/yahoo/search/cluster/ClusterMonitor.java
+++ b/container-search/src/main/java/com/yahoo/search/cluster/ClusterMonitor.java
@@ -101,7 +101,7 @@ public class ClusterMonitor<T> {
Boolean wasWorking = monitor.isKnownWorking();
monitor.responded();
if (wasWorking != monitor.isKnownWorking())
- nodeManager.working(monitor.getNode());
+ nodeManager.working(node);
}
/**
diff --git a/container-search/src/main/java/com/yahoo/search/cluster/MonitorConfiguration.java b/container-search/src/main/java/com/yahoo/search/cluster/MonitorConfiguration.java
index 7b10992dff8..21e5fe3bc7f 100644
--- a/container-search/src/main/java/com/yahoo/search/cluster/MonitorConfiguration.java
+++ b/container-search/src/main/java/com/yahoo/search/cluster/MonitorConfiguration.java
@@ -15,22 +15,10 @@ public class MonitorConfiguration {
private long checkInterval=1000;
/**
- * The number of times a failed node must respond before getting
- * traffic again
- */
- private int responseAfterFailLimit=3;
-
- /**
- * The number of ms a node is allowed to stay idle before it is
- * pinged
- */
- private long idleLimit=3000;
-
- /**
* The number of milliseconds to attempt to complete a request
* before giving up
*/
- private final long requestTimeout = 5000;
+ private final long requestTimeout = 980;
/**
* The number of milliseconds a node is allowed to fail before we
@@ -39,17 +27,6 @@ public class MonitorConfiguration {
private long failLimit=5000;
/**
- * The number of times a node is allowed to fail in one hour
- * before it is quarantined for an hour
- */
- private int failQuarantineLimit=3;
-
- /**
- * The number of ms to quarantine an unstable node
- */
- private long quarantineTime=1000*60*60;
-
- /**
* Sets the interval between each ping of idle or failing nodes
* Default is 1000ms
*/
@@ -68,25 +45,27 @@ public class MonitorConfiguration {
/**
* Sets the number of times a failed node must respond before it is put
* back in service. Default is 3.
+ * @deprecated Will go away in Vespa 8
*/
- public void setResponseAfterFailLimit(int responseAfterFailLimit) {
- this.responseAfterFailLimit=responseAfterFailLimit;
- }
+ @Deprecated
+ public void setResponseAfterFailLimit(int responseAfterFailLimit) { }
/**
* Sets the number of ms a node (failing or working) is allowed to
* stay idle before it is pinged. Default is 3000
+ * @deprecated Will go away in Vespa 8
*/
- public void setIdleLimit(int idleLimit) {
- this.idleLimit=idleLimit;
- }
+ @Deprecated
+ public void setIdleLimit(int idleLimit) { }
/**
* Gets the number of ms a node (failing or working)
* is allowed to stay idle before it is pinged. Default is 3000
+ * @deprecated Will go away in Vespa 8
*/
+ @Deprecated
public long getIdleLimit() {
- return idleLimit;
+ return 3000;
}
/**
@@ -112,28 +91,24 @@ public class MonitorConfiguration {
* in quarantine. Once in quarantine it won't be put back in
* productuion before quarantineTime has expired even if it is
* working. Default is 3
+ * @deprecated Will go away in Vespa 8
*/
- public void setFailQuarantineLimit(int failQuarantineLimit) {
- this.failQuarantineLimit=failQuarantineLimit;
- }
+ @Deprecated
+ public void setFailQuarantineLimit(int failQuarantineLimit) { }
/**
* The number of ms an unstable node is quarantined. Default is
* 100*60*60
+ * @deprecated Will go away in Vespa 8
*/
- public void setQuarantineTime(long quarantineTime) {
- this.quarantineTime=quarantineTime;
- }
+ @Deprecated
+ public void setQuarantineTime(long quarantineTime) { }
public String toString() {
return "monitor configuration [" +
"checkInterval: " + checkInterval +
- " responseAfterFailLimit: " + responseAfterFailLimit +
- " idleLimit: " + idleLimit +
" requestTimeout " + requestTimeout +
- " feilLimit " + failLimit +
- " failQuerantineLimit " + failQuarantineLimit +
- " quarantineTime " + quarantineTime +
+ " failLimit " + failLimit +
"]";
}
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java b/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java
index d462479226a..d44ade66967 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java
@@ -269,8 +269,6 @@ public class SearchCluster implements NodeManager<Node> {
/** Used by the cluster monitor to manage node status */
@Override
public void ping(ClusterMonitor clusterMonitor, Node node, Executor executor) {
- if (pingFactory == null) return; // not initialized yet
-
Pinger pinger = pingFactory.createPinger(node, clusterMonitor, new PongCallback(node, clusterMonitor));
pinger.ping();
}