diff --git a/CHANGELOG.md b/CHANGELOG.md index a76debe9e6f..e599e25583a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,7 @@ - Fix memory leak of `keda-metrics-apiserver` by setting a controller-runtime logger properly ([#1654](https://github.com/kedacore/keda/pull/1654)) - Add `publishRate` trigger to RabbitMQ scaler ([#1653](https://github.com/kedacore/keda/pull/1653)) - AWS SQS Scaler: Add Visible + NotVisible messages for scaling considerations ([#1664](https://github.com/kedacore/keda/pull/1664)) +- Fixing behavior on ScaledJob with incorrect External Scaler ([#1672](https://github.com/kedacore/keda/pull/1672)) ### Breaking Changes diff --git a/pkg/scaling/scale_handler.go b/pkg/scaling/scale_handler.go index 6b02b8ea32e..f038f9f577c 100644 --- a/pkg/scaling/scale_handler.go +++ b/pkg/scaling/scale_handler.go @@ -245,8 +245,10 @@ func (h *scaleHandler) checkScaledJobScalers(ctx context.Context, scalers []scal scalerLogger := h.logger.WithValues("Scaler", scaler) metricSpecs := scaler.GetMetricSpecForScaling() - // skip cpu/memory resource scaler - if metricSpecs[0].External == nil { + + // skip scaler that doesn't return any metric specs (usually External scaler with incorrect metadata) + // or skip cpu/memory resource scaler + if len(metricSpecs) < 1 || metricSpecs[0].External == nil { continue }