diff options
author | Jon Bratseth <bratseth@gmail.com> | 2023-05-24 15:14:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-24 15:14:08 +0200 |
commit | e66424958fc1baf582861959f9471fbccd29a619 (patch) | |
tree | 033aad6d03f7a4ae9cd05de1427c7e01068e6b8e | |
parent | 300079abd9f862a61d71c66c882ed4bd4806ef46 (diff) | |
parent | 395cf8468b42307f1897cfe926d9c49e320c44a8 (diff) |
Merge pull request #27205 from vespa-engine/bratseth/scaling-duration-cleanup
Scaling-duration cleanup
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 } } } |