change result size to numAllNodes

This commit is contained in:
Oleg Guba 2024-03-01 02:06:17 -08:00
parent e6dd36759f
commit ba525460e0

View File

@ -603,7 +603,7 @@ func (sched *Scheduler) findNodesThatPassFilters(
node string
status *framework.Status
}
result := make([]*nodeStatus, len(feasibleNodes))
result := make([]*nodeStatus, numAllNodes)
checkNode := func(i int) {
// We check the nodes starting from where we left off in the previous scheduling cycle,
// this is to make sure all nodes have the same chance of being examined across pods.
@ -625,13 +625,6 @@ func (sched *Scheduler) findNodesThatPassFilters(
result[i] = &nodeStatus{node: nodeInfo.Node().Name, status: status}
}
}
for _, item := range result {
if item == nil {
continue
}
diagnosis.NodeToStatusMap[item.node] = item.status
diagnosis.AddPluginStatus(item.status)
}
beginCheckNode := time.Now()
statusCode := framework.Success
@ -646,6 +639,13 @@ func (sched *Scheduler) findNodesThatPassFilters(
// are found.
fwk.Parallelizer().Until(ctx, numAllNodes, checkNode, metrics.Filter)
feasibleNodes = feasibleNodes[:feasibleNodesLen]
for _, item := range result {
if item == nil {
continue
}
diagnosis.NodeToStatusMap[item.node] = item.status
diagnosis.AddPluginStatus(item.status)
}
if err := errCh.ReceiveError(); err != nil {
statusCode = framework.Error
return feasibleNodes, err