aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2023-05-24 15:14:08 +0200
committerGitHub <noreply@github.com>2023-05-24 15:14:08 +0200
commite66424958fc1baf582861959f9471fbccd29a619 (patch)
tree033aad6d03f7a4ae9cd05de1427c7e01068e6b8e
parent300079abd9f862a61d71c66c882ed4bd4806ef46 (diff)
parent395cf8468b42307f1897cfe926d9c49e320c44a8 (diff)
Merge pull request #27205 from vespa-engine/bratseth/scaling-duration-cleanup
Scaling-duration cleanup
-rw-r--r--container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/applications/Cluster.java17
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModel.java5
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/application1.json2
4 files changed, 10 insertions, 18 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
index 6a0015f9d3a..e6486186618 100644
--- a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
+++ b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
@@ -280,9 +280,7 @@ public class SearchHandler extends LoggingRequestHandler {
}
private Renderer<Result> toRendererCopy(ComponentSpecification format) {
- Renderer<Result> renderer = executionFactory.rendererRegistry().getRenderer(format);
- renderer = perRenderingCopy(renderer);
- return renderer;
+ return perRenderingCopy(executionFactory.rendererRegistry().getRenderer(format));
}
private Tuple2<String, Chain<Searcher>> resolveChain(String explicitChainName) {
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/applications/Cluster.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/applications/Cluster.java
index 65e0bc558b2..1ca81df824b 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/applications/Cluster.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/applications/Cluster.java
@@ -8,6 +8,7 @@ import com.yahoo.config.provision.ClusterResources;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.vespa.hosted.provision.autoscale.Autoscaler;
import com.yahoo.vespa.hosted.provision.autoscale.Autoscaling;
+import com.yahoo.vespa.hosted.provision.autoscale.ClusterModel;
import java.time.Duration;
import java.time.Instant;
@@ -203,20 +204,8 @@ public class Cluster {
completedEventCount++;
totalDuration = totalDuration.plus(event.duration().get());
}
- if (completedEventCount == 0) { // Use defaults
- if (clusterSpec.isStateful()) return Duration.ofHours(12);
- return Duration.ofMinutes(10);
- }
- else {
- Duration predictedDuration = totalDuration.dividedBy(completedEventCount);
-
- if ( clusterSpec.isStateful() ) // TODO: Remove when we have reliable completion for content clusters
- predictedDuration = minimum(Duration.ofHours(12), predictedDuration);
-
- predictedDuration = minimum(Duration.ofMinutes(5), predictedDuration);
-
- return predictedDuration;
- }
+ if (completedEventCount == 0) return ClusterModel.minScalingDuration(clusterSpec);
+ return minimum(ClusterModel.minScalingDuration(clusterSpec), totalDuration.dividedBy(completedEventCount));
}
private static Duration minimum(Duration smallestAllowed, Duration duration) {
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModel.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModel.java
index bb599b69398..53bacfea298 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModel.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModel.java
@@ -153,6 +153,11 @@ public class ClusterModel {
return true;
}
+ public static Duration minScalingDuration(ClusterSpec clusterSpec) {
+ if (clusterSpec.isStateful()) return Duration.ofHours(12);
+ return Duration.ofMinutes(5);
+ }
+
/** Returns the predicted duration of a rescaling of this cluster */
public Duration scalingDuration() { return scalingDuration; }
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/application1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/application1.json
index 92e5425e84e..28bde7bd966 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/application1.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/application1.json
@@ -140,7 +140,7 @@
"at" : 123
}
],
- "scalingDuration": 600000
+ "scalingDuration": 300000
}
}
}