...
Code Block | ||||
---|---|---|---|---|
| ||||
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required user_alice=”alice-secret”; \ org.apache.kafka.common.security.scram.ScramLoginModule required; |
Protocol Changes
AlterConfigsResponse A new option include_synonyms
will be updated to include actual config used by the broker after an update (with validateOnly
set to true or false). This is particularly useful to obtain the default value that the config will revert to after removing a broker config. AlterConfigsRequest version will be bumped up to 1.added to 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
DescribeConfigsRequest
version will be bumped up to 1.
Code Block | ||||
---|---|---|---|---|
| ||||
DescribeConfigs Request (Version: 1) => [resource [config_name]] include_synonyms
resource => resource_type resource_name
resource_type => INT8
resource_name => STRING
config_name => STRING
include_synonyms => BOOLEAN
DescribeConfigs Response (Version: 1) => throttle_time_ms [entities]
throttle_time_ms => INT32
entities => error_code error_message resource [configs]
error_code => INT16
error_message => STRING
resource | ||||
Code Block | ||||
| ||||
AlterConfigsResponse (Version: 1) => [responses] responses => resource_type resource_name error_code error_message [configs] resource_type => INT8 resource_name => STRING error_code => INT16 configs => [config_entry [synonym]] <= Added [synonym] error_message => STRINGsynonym => resource config_entry <= NEW configsconfig_entry => config_name => STRING config_value => STRING read_only (NEW)=> BOOLEAN configis_namedefault => STRINGBOOLEAN configis_valuesensitive => STRINGBOOLEAN |
Public Interface Changes
A new interface Reconfigurable
will be added to notify reconfigurable objects of configuration changes. For example, metrics reporters that support reconfiguration can implement the interface Reconfigurable
to enable reconfiguration without broker restart. The interface will also be implemented by all internal classes which support reconfiguration (e.g. ChannelBuilder
)
Code Block | ||||
---|---|---|---|---|
| ||||
package org.apache.kafka.common; import java.util.Map; import java.util.Set; /** * Interface for reconfigurable classes that support dynamic configuration. */ public interface Reconfigurable { /** * Returns the names of configs that may be reconfigured. */ Set<String> reconfigurableConfigs(); /** * Reconfigures this instance with the given key-value pairs. The provided * map contains all configs including any reconfigurable configs that * may have changed since the object was initially configured using * {@link Configurable#configure(Map)}. */ void reconfigure(Map<String, ?> configs); } |
The classesDescribeConfigsOptions
and
used by DescribeConfigsResult
AdminClient
will be updated to include config synonyms in the result.
Tools
kafka-configs.sh
will be updated to configure defaults and overrides for dynamic configuration options for the entity type brokers
.
...