Dennis-Mircea Ciupitu created FLINK-39554:
---------------------------------------------
Summary: Support multiple custom autoscaler evaluators with
deterministic ordering
Key: FLINK-39554
URL: https://issues.apache.org/jira/browse/FLINK-39554
Project: Flink
Issue Type: Improvement
Components: Autoscaler, Kubernetes Operator
Affects Versions: kubernetes-operator-1.15.0
Reporter: Dennis-Mircea Ciupitu
h1. Summary
Allow more than one {{FlinkAutoscalerEvaluator}} plugin to be active for a
single job, and define a deterministic, configurable ordering contract for how
their metric overrides are composed.
h1. Motivation
FLINK-39511 introduced the {{FlinkAutoscalerEvaluator}} plugin SPI, aligned the
configuration shape with reporter-style idiom
({{{}job.autoscaler.metrics.custom-evaluators{}}} + per-instance
{{<name>.class}} + {{{}<name>.<parameter>{}}}), and intentionally limited the
runtime to a single custom evaluator per job:
* {{job.autoscaler.metrics.custom-evaluators}} is parsed as a list.
* If more than one entry is configured, the autoscaler logs a warning and
silently falls back to the first entry, ignoring the rest.
This was a deliberate scope cut to keep the initial PR small and to defer the
ordering / composition contract to a follow-up.
h1. Goal
Lift the "first-wins" cap and make the registered list of evaluators a true
ordered chain whose composition behaviour is well-defined, predictable, and
aligned with
[FLIP-575|https://cwiki.apache.org/confluence/display/FLINK/FLIP-575%3A+Scaling+Executor+Plugin+SPI+for+Flink+Autoscaler]
({{ScalingExecutorPlugin}}) priority semantics for consistency across the
autoscaler plugin SPIs.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)