DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
Proposed Changes
log.dirs & log.dir
After KIP-1161, log.dir was changed to a LIST-type configuration, allowing comma-separated log directories. As a result, log.dir and log.dirs now provide the same functionality. To avoid duplication and confusion, we should remove the log.dir configuration.
| Code Block | ||
|---|---|---|
| ||
@Deprecated
public static final String LOG_DIR_CONFIG = LOG_PREFIX + "dir";
@Deprecated
public static final String LOG_DIR_DEFAULT = "/tmp/kafka-logs";
@Deprecated
public static final String LOG_DIR_DOC = "A comma-separated list of the directories where the log data is stored. (supplemental to \" + LOG_DIRS_CONFIG + \" property) " +
"This configuration has the same functionality as " + LOG_DIRS_CONFIG + " thus is deprecated and will be removed in Kafka 5.0."; |
In Kafka 5.0, we should also update the default value of log.dirs and its validator.
| Code Block | ||
|---|---|---|
| ||
public static final String LOG_DIRS_CONFIG = LOG_PREFIX + "dirs";
public static final String LOG_DIRS_DEFAULT = "/tmp/kafka-logs";
public static final String LOG_DIRS_DOC = "A comma-separated list of the directories where the log data is stored.";// define class
public class LogConfig extends AbstractConfig { // skip
.define(ServerLogConfigs.LOG_DIRS_CONFIG, STRING, ServerLogConfigs.LOG_DIRS_DEFAULT, ConfigDef.ValidList.anyNonDuplicateValues(false, false), HIGH, ServerLogConfigs.LOG_DIRS_DOC) // skip
} |
node.id & broker.id
The broker.id configuration is used in ZooKeeper mode. In KRaft mode, however, it is awkward to set a broker.id for a controller node. This makes the configuration outdated. Instead, node.id provides a more meaningful and semantic option in KRaft mode.
| Code Block | ||
|---|---|---|
| ||
@Deprecated
public static final String BROKER_ID_CONFIG = "broker.id";
@Deprecated
public static final int BROKER_ID_DEFAULT = -1;
@Deprecated
public static final String BROKER_ID_DOC = "The broker id for this server. This configuration will be remove in Kafka 5.0. " +
"Please use <code>node.id</code> instead."; |
Compatibility, Deprecation, and Migration Plan
We will add the `@Deprecated` annotation to these configurations. If users set any of them, Kafka 4.0 will print a warning message.
- These deprecated configurations will be fully removed in Kafka 5.0.
- Update the validator and default values for the remaining configurations in Kafka 5.0.
Test Plan
The unit tests and integration tests should be updated to use the non-deprecated configurations, and all tests must pass.
In Kafka 5.0 all tests should passed after add new default value and validator.
Rejected Alternatives
n/a