...
Individual broker config overrides will be provided for all the dynamic configs to enable testing. AdminClient
will return all configured configs and defaults in the order of precedence in DescribeConfigsResponse
if synonyms are requested. For configs that we want to keep consistent across all brokers, kafka-configs.sh
and AdminClient
will only allow updates of cluster-wide defaults, but it will still be possible to write overrides to ZK configure per-broker overrides for testing. Brokers will handle all configs consistently with the precedence specified above.
Dynamic broker configs will be stored in ZooKeeper in JSON format along with the existing replication quota config for entity type brokers
. With the current dynamic configuration implementation, brokers watch configuration update node in ZooKeeper and invoke config handlers when update notifications are received. The config handler for brokers
will be updated to handle KafkaConfig
changes as well.
The existing ACL for AlterConfigs
operation on Cluster
resource will be applied for broker config updates. As with topic configuration updates, alter.config.policy.class.name
can be configured to specify a custom AlterConfigsPolicy.
New Broker Configuration Option
...
Protocol Changes
A new option
will be added to
include_synonyms Anchor synonyms synonyms DescribeConfigsRequest
to return all the configs which may be used as the value of the specified config if the config was removed. For example, flush.ms
config for a topic will return the broker config log.flush.interval.ms
as a synonym if
include_synonyms
=true. DescribeConfigsResponse
will be return all synonyms in the order of precedence. This is particularly useful to obtain the default value that the config will revert to if a config override is removed. As dynamic broker configs are being added at per-broker and cluster-default levels,
can be useful to list all the configured values and the precedence used to obtain the currently configured value.include_synonyms
...