diff options
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 } } } |