@@ -77,7 +77,7 @@ type PriorityConfigFactory struct {
77
77
}
78
78
79
79
var (
80
- schedulerFactoryMutex sync.Mutex
80
+ schedulerFactoryMutex sync.RWMutex
81
81
82
82
// maps that hold registered algorithm types
83
83
fitPredicateMap = make (map [string ]FitPredicateFactory )
@@ -139,7 +139,6 @@ func RemovePredicateKeyFromAlgorithmProviderMap(key string) {
139
139
for _ , provider := range algorithmProviderMap {
140
140
provider .FitPredicateKeys .Delete (key )
141
141
}
142
- return
143
142
}
144
143
145
144
// InsertPredicateKeyToAlgoProvider insert a fit predicate key to algorithmProvider.
@@ -376,8 +375,8 @@ func buildScoringFunctionShapeFromRequestedToCapacityRatioArguments(arguments *s
376
375
377
376
// IsPriorityFunctionRegistered is useful for testing providers.
378
377
func IsPriorityFunctionRegistered (name string ) bool {
379
- schedulerFactoryMutex .Lock ()
380
- defer schedulerFactoryMutex .Unlock ()
378
+ schedulerFactoryMutex .RLock ()
379
+ defer schedulerFactoryMutex .RUnlock ()
381
380
_ , ok := priorityFunctionMap [name ]
382
381
return ok
383
382
}
@@ -397,8 +396,8 @@ func RegisterAlgorithmProvider(name string, predicateKeys, priorityKeys sets.Str
397
396
398
397
// GetAlgorithmProvider should not be used to modify providers. It is publicly visible for testing.
399
398
func GetAlgorithmProvider (name string ) (* AlgorithmProviderConfig , error ) {
400
- schedulerFactoryMutex .Lock ()
401
- defer schedulerFactoryMutex .Unlock ()
399
+ schedulerFactoryMutex .RLock ()
400
+ defer schedulerFactoryMutex .RUnlock ()
402
401
403
402
provider , ok := algorithmProviderMap [name ]
404
403
if ! ok {
0 commit comments