diff --git a/pkg/epp/scheduling/framework/plugins/filter/lora_affinity_filter.go b/pkg/epp/scheduling/framework/plugins/filter/lora_affinity_filter.go index 145743f03..037cce22d 100644 --- a/pkg/epp/scheduling/framework/plugins/filter/lora_affinity_filter.go +++ b/pkg/epp/scheduling/framework/plugins/filter/lora_affinity_filter.go @@ -43,8 +43,10 @@ var _ framework.Filter = &LoraAffinityFilter{} // LoraAffinityFilterFactory defines the factory function for LoraAffinityFilter. func LoraAffinityFilterFactory(name string, rawParameters json.RawMessage, _ plugins.Handle) (plugins.Plugin, error) { parameters := loraAffinityFilterParameters{Threshold: config.DefaultLoraAffinityThreshold} - if err := json.Unmarshal(rawParameters, ¶meters); err != nil { - return nil, fmt.Errorf("failed to parse the parameters of the '%s' filter - %w", LoraAffinityFilterType, err) + if rawParameters != nil { + if err := json.Unmarshal(rawParameters, ¶meters); err != nil { + return nil, fmt.Errorf("failed to parse the parameters of the '%s' filter - %w", LoraAffinityFilterType, err) + } } return NewLoraAffinityFilter(parameters.Threshold).WithName(name), nil } diff --git a/pkg/epp/scheduling/framework/plugins/filter/low_queue_filter.go b/pkg/epp/scheduling/framework/plugins/filter/low_queue_filter.go index 8b121e726..e3f509cce 100644 --- a/pkg/epp/scheduling/framework/plugins/filter/low_queue_filter.go +++ b/pkg/epp/scheduling/framework/plugins/filter/low_queue_filter.go @@ -42,8 +42,10 @@ var _ framework.Filter = &LowQueueFilter{} // LowQueueFilterFactory defines the factory function for LowQueueFilter. func LowQueueFilterFactory(name string, rawParameters json.RawMessage, _ plugins.Handle) (plugins.Plugin, error) { parameters := lowQueueFilterParameters{Threshold: config.DefaultQueueingThresholdLoRA} - if err := json.Unmarshal(rawParameters, ¶meters); err != nil { - return nil, fmt.Errorf("failed to parse the parameters of the '%s' filter - %w", LowQueueFilterType, err) + if rawParameters != nil { + if err := json.Unmarshal(rawParameters, ¶meters); err != nil { + return nil, fmt.Errorf("failed to parse the parameters of the '%s' filter - %w", LowQueueFilterType, err) + } } return NewLowQueueFilter(parameters.Threshold).WithName(name), nil diff --git a/pkg/epp/scheduling/framework/plugins/multi/prefix/plugin.go b/pkg/epp/scheduling/framework/plugins/multi/prefix/plugin.go index a291f4761..bd7cfae67 100644 --- a/pkg/epp/scheduling/framework/plugins/multi/prefix/plugin.go +++ b/pkg/epp/scheduling/framework/plugins/multi/prefix/plugin.go @@ -125,8 +125,11 @@ func PrefixCachePluginFactory(name string, rawParameters json.RawMessage, _ plug MaxPrefixBlocksToMatch: DefaultMaxPrefixBlocks, LRUCapacityPerServer: DefaultLRUCapacityPerServer, } - if err := json.Unmarshal(rawParameters, ¶meters); err != nil { - return nil, fmt.Errorf("failed to parse the parameters of the %s plugin. Error: %s", PrefixCachePluginType, err) + + if rawParameters != nil { + if err := json.Unmarshal(rawParameters, ¶meters); err != nil { + return nil, fmt.Errorf("failed to parse the parameters of the %s plugin. Error: %s", PrefixCachePluginType, err) + } } return New(parameters).WithName(name), nil