Cruise-control is the first of its kind to fully automate the dynamic workload rebalance and self-healing of a Kafka cluster. It provides great value to Kafka users by simplifying the operation of Kafka clusters.
Why: KafkaCruiseControlConfig sanity checks prevent to configure inter broker goals as default goals.
What: Modify the sanity check to allow adding intra broker goals to the default.goals
Expected Behavior
I can add (enable) goals to the default.goals list from both the intra and inter broker goals
Actual Behavior
Sanity checks ensure the following rules:
goals and intra broker goals should be disjoint (an intra broker goal cant be in the goals and the intra.broker.goals at the same time)
default.goals should be a subset of goals (As a result of this, we could not add intra broker goal to the default.goals)
intra.broker.goals cant be empty (you could not move all the intra broker roles to the goals)
We could not add intra goal to the default.goals without a trick (see in the workaround section)
Steps to Reproduce
Try to enable an intra broker goal by adding it to the default. goals
Known Workarounds
You can remove 1 intra broker goal from the intra.broker.goals config and add that to the goals (keep in mind that the other one should be in the intra.broker.goals as the list cant be empty) this way you can add that 1 goal to the default.goals and enable it
Note that this way we still cant enable both of the currently available intra broker goals as 1 have to be in the intra.broker.goals list to avoid hitting the mentioned sanity check. So only 1 intra goal at a time.
Summary
default.goals
Expected Behavior
I can add (enable) goals to the
default.goals
list from both the intra and inter broker goalsActual Behavior
Sanity checks ensure the following rules:
goals
and theintra.broker.goals
at the same time)default.goals
should be a subset ofgoals
(As a result of this, we could not add intra broker goal to thedefault.goals
)intra.broker.goals
cant be empty (you could not move all the intra broker roles to the goals)We could not add intra goal to the
default.goals
without a trick (see in the workaround section)Steps to Reproduce
Try to enable an intra broker goal by adding it to the
default. goals
Known Workarounds
You can remove 1 intra broker goal from the
intra.broker.goals
config and add that to thegoals
(keep in mind that the other one should be in theintra.broker.goals
as the list cant be empty) this way you can add that 1 goal to thedefault.goals
and enable itNote that this way we still cant enable both of the currently available intra broker goals as 1 have to be in the intra.broker.goals list to avoid hitting the mentioned sanity check. So only 1 intra goal at a time.
Categorization