Only lock statuses map when status isn't successful

Determine the status successful or not first, that will reduce the chance
of lock contention.
This commit is contained in:
He Jie Xu 2020-08-18 22:40:15 +08:00
parent 9b78bd5979
commit dc52b69ddc

View File

@ -333,13 +333,13 @@ func (g *genericScheduler) findNodesThatPassFilters(ctx context.Context, prof *p
feasibleNodes[length-1] = nodeInfo.Node() feasibleNodes[length-1] = nodeInfo.Node()
} }
} else { } else {
statusesLock.Lock()
if !status.IsSuccess() { if !status.IsSuccess() {
statusesLock.Lock()
statuses[nodeInfo.Node().Name] = status statuses[nodeInfo.Node().Name] = status
}
statusesLock.Unlock() statusesLock.Unlock()
} }
} }
}
beginCheckNode := time.Now() beginCheckNode := time.Now()
statusCode := framework.Success statusCode := framework.Success