Unverified Commit c955b2eb authored by Frame's avatar Frame Committed by GitHub
Browse files

koordlet: fix memory evict for nil podMetric (#648)

Signed-off-by: default avatarsaintube <saintube@foxmail.com>
Showing with 8 additions and 3 deletions
+8 -3
......@@ -170,11 +170,16 @@ func (m *MemoryEvictor) getSortedBEPodInfos(podMetrics []*metriccache.PodResourc
sort.Slice(bePodInfos, func(i, j int) bool {
// TODO: https://github.com/koordinator-sh/koordinator/pull/65#discussion_r849048467
if bePodInfos[i].pod.Spec.Priority == nil || bePodInfos[j].pod.Spec.Priority == nil ||
*bePodInfos[i].pod.Spec.Priority == *bePodInfos[j].pod.Spec.Priority {
// compare priority > podMetric > name
if bePodInfos[i].pod.Spec.Priority != nil && bePodInfos[j].pod.Spec.Priority != nil && *bePodInfos[i].pod.Spec.Priority != *bePodInfos[j].pod.Spec.Priority {
return *bePodInfos[i].pod.Spec.Priority < *bePodInfos[j].pod.Spec.Priority
}
if bePodInfos[i].podMetric != nil && bePodInfos[j].podMetric != nil {
return bePodInfos[i].podMetric.MemoryUsed.MemoryWithoutCache.Value() > bePodInfos[j].podMetric.MemoryUsed.MemoryWithoutCache.Value()
} else if bePodInfos[i].podMetric == nil && bePodInfos[j].podMetric == nil {
return bePodInfos[i].pod.Name > bePodInfos[j].pod.Name
}
return *bePodInfos[i].pod.Spec.Priority < *bePodInfos[j].pod.Spec.Priority
return bePodInfos[j].podMetric == nil
})
return bePodInfos
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment