Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 2 additions & 9 deletions pkg/reconciler/autoscaling/hpa/hpa.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,9 @@ func activeThreshold(ctx context.Context, pa *autoscalingv1alpha1.PodAutoscaler)
min, _ := pa.ScaleBounds(asConfig)
if !pa.Status.IsScaleTargetInitialized() {
initialScale := getInitialScale(asConfig, pa)
return intMax(min, initialScale)
return max(min, initialScale)
}
return intMax(min, 1)
return max(min, 1)
}

// getInitialScale returns the calculated initial scale based on the autoscaler
Expand All @@ -133,10 +133,3 @@ func getInitialScale(asConfig *autoscalerconfig.Config, pa *autoscalingv1alpha1.
}
return revisionInitialScale
}

func intMax(a, b int32) int32 {
if a < b {
return b
}
return a
}
11 changes: 2 additions & 9 deletions pkg/reconciler/autoscaling/kpa/kpa.go
Original file line number Diff line number Diff line change
Expand Up @@ -327,9 +327,9 @@ func activeThreshold(ctx context.Context, pa *autoscalingv1alpha1.PodAutoscaler)
min, _ := pa.ScaleBounds(asConfig)
if !pa.Status.IsScaleTargetInitialized() {
initialScale := resources.GetInitialScale(asConfig, pa)
return int(intMax(min, initialScale))
return int(max(min, initialScale))
}
return int(intMax(min, 1))
return int(max(min, 1))
}

// resolveScrapeTarget returns metric service name to be scraped based on TBC configuration
Expand All @@ -351,13 +351,6 @@ func resolveTBC(ctx context.Context, pa *autoscalingv1alpha1.PodAutoscaler) floa
return config.FromContext(ctx).Autoscaler.TargetBurstCapacity
}

func intMax(a, b int32) int32 {
if a < b {
return b
}
return a
}

func computeNumActivators(readyPods int, decider *scaling.Decider) int32 {
if decider.Spec.TargetBurstCapacity == 0 {
return int32(minActivators)
Expand Down
12 changes: 6 additions & 6 deletions pkg/reconciler/autoscaling/kpa/scaler.go
Original file line number Diff line number Diff line change
Expand Up @@ -338,22 +338,22 @@ func (ks *scaler) scale(ctx context.Context, pa *autoscalingv1alpha1.PodAutoscal
return desiredScale, nil
}

min, max := pa.ScaleBounds(asConfig)
minScale, maxScale := pa.ScaleBounds(asConfig)
initialScale := kparesources.GetInitialScale(asConfig, pa)
// Log reachability as quoted string, since default value is "".
logger.Debugf("MinScale = %d, MaxScale = %d, InitialScale = %d, DesiredScale = %d Reachable = %q",
min, max, initialScale, desiredScale, pa.Spec.Reachability)
minScale, maxScale, initialScale, desiredScale, pa.Spec.Reachability)
// If initial scale has been attained, ignore the initialScale altogether.
// Also ignore initialScale if the revision is unreachable (routingState = "reserve"),
// allowing it to scale down to 0 immediately.
if initialScale > 1 && !pa.Status.IsScaleTargetInitialized() && pa.Spec.Reachability != autoscalingv1alpha1.ReachabilityUnreachable {
// Ignore initial scale if minScale >= initialScale.
if min < initialScale {
logger.Debugf("Adjusting min to meet the initial scale: %d -> %d", min, initialScale)
if minScale < initialScale {
logger.Debugf("Adjusting minScale to meet the initial scale: %d -> %d", minScale, initialScale)
}
min = intMax(initialScale, min)
minScale = max(initialScale, minScale)
}
if newScale := applyBounds(min, max, desiredScale); newScale != desiredScale {
if newScale := applyBounds(minScale, maxScale, desiredScale); newScale != desiredScale {
logger.Debugf("Adjusting desiredScale to meet the min and max bounds before applying: %d -> %d", desiredScale, newScale)
desiredScale = newScale
}
Expand Down