diff --git a/cruise-control/src/main/java/com/linkedin/kafka/cruisecontrol/config/KafkaCruiseControlConfig.java b/cruise-control/src/main/java/com/linkedin/kafka/cruisecontrol/config/KafkaCruiseControlConfig.java index b422e7a01..38619568b 100644 --- a/cruise-control/src/main/java/com/linkedin/kafka/cruisecontrol/config/KafkaCruiseControlConfig.java +++ b/cruise-control/src/main/java/com/linkedin/kafka/cruisecontrol/config/KafkaCruiseControlConfig.java @@ -197,11 +197,12 @@ private void sanityCheckGoalNames() { throw new ConfigException("Attempt to configure default goals configuration with an empty list of goals."); } - // Ensure that default goals are supported inter-broker goals. - if (defaultGoalNames.stream().anyMatch(g -> !interBrokerGoalNames.contains(g))) { - throw new ConfigException(String.format("Attempt to configure default goals with unsupported goals (%s:%s and %s:%s).", + // Ensure that default goals are supported inter-broker or intra-broker goals. + if (defaultGoalNames.stream().anyMatch(g -> !interBrokerGoalNames.contains(g) && !intraBrokerGoalNames.contains(g))) { + throw new ConfigException(String.format("Attempt to configure default goals with unsupported goals (%s:%s and %s:%s and %s:%s).", AnalyzerConfig.DEFAULT_GOALS_CONFIG, defaultGoalNames, - AnalyzerConfig.GOALS_CONFIG, interBrokerGoalNames)); + AnalyzerConfig.GOALS_CONFIG, interBrokerGoalNames, + AnalyzerConfig.INTRA_BROKER_GOALS_CONFIG, intraBrokerGoalNames)); } // Ensure that hard goals are contained in default goals.