diff --git a/core/src/main/java/kafka/autobalancer/goals/AbstractGoal.java b/core/src/main/java/kafka/autobalancer/goals/AbstractGoal.java index 058a42e151..cf5b00dd03 100644 --- a/core/src/main/java/kafka/autobalancer/goals/AbstractGoal.java +++ b/core/src/main/java/kafka/autobalancer/goals/AbstractGoal.java @@ -215,6 +215,12 @@ public double actionAcceptanceScore(Action action, ClusterModelSnapshot cluster) } BrokerUpdater.Broker srcBrokerBefore = cluster.broker(action.getSrcBrokerId()); BrokerUpdater.Broker destBrokerBefore = cluster.broker(action.getDestBrokerId()); + + if (!srcBrokerBefore.getMetricVersion().isGoalSupported(this) + || !destBrokerBefore.getMetricVersion().isGoalSupported(this)) { + return POSITIVE_ACTION_SCORE_THRESHOLD; + } + BrokerUpdater.Broker srcBrokerAfter = srcBrokerBefore.copy(); BrokerUpdater.Broker destBrokerAfter = destBrokerBefore.copy();