mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 20:24:09 +00:00
Merge pull request #110695 from lokichoggio/hpa
code optimization: deal with error first to prevent unnecessary computing
This commit is contained in:
commit
5ade6c833f
@ -71,24 +71,22 @@ func (c *ReplicaCalculator) GetResourceReplicas(ctx context.Context, currentRepl
|
||||
if err != nil {
|
||||
return 0, 0, 0, time.Time{}, fmt.Errorf("unable to get pods while calculating replica count: %v", err)
|
||||
}
|
||||
|
||||
itemsLen := len(podList)
|
||||
if itemsLen == 0 {
|
||||
if len(podList) == 0 {
|
||||
return 0, 0, 0, time.Time{}, fmt.Errorf("no pods returned by selector while calculating replica count")
|
||||
}
|
||||
|
||||
readyPodCount, unreadyPods, missingPods, ignoredPods := groupPods(podList, metrics, resource, c.cpuInitializationPeriod, c.delayOfInitialReadinessStatus)
|
||||
removeMetricsForPods(metrics, ignoredPods)
|
||||
removeMetricsForPods(metrics, unreadyPods)
|
||||
if len(metrics) == 0 {
|
||||
return 0, 0, 0, time.Time{}, fmt.Errorf("did not receive metrics for any ready pods")
|
||||
}
|
||||
|
||||
requests, err := calculatePodRequests(podList, container, resource)
|
||||
if err != nil {
|
||||
return 0, 0, 0, time.Time{}, err
|
||||
}
|
||||
|
||||
if len(metrics) == 0 {
|
||||
return 0, 0, 0, time.Time{}, fmt.Errorf("did not receive metrics for any ready pods")
|
||||
}
|
||||
|
||||
usageRatio, utilization, rawUtilization, err := metricsclient.GetResourceUtilizationRatio(metrics, requests, targetUtilization)
|
||||
if err != nil {
|
||||
return 0, 0, 0, time.Time{}, err
|
||||
|
Loading…
Reference in New Issue
Block a user