Description
I found this problem while investigating KAFKA-8926.
Some broker-wide configurations (defined in KafkaConfig) are mapped with log-wide configurations (defined in LogConfig), providing a default value. You can find the complete mapping list in `LogConfig.TopicConfigSynonyms`.
The problem is, some configuration properties' validation is different between KafkaConfig and LogConfig:
These inconsistencies cause some problems with the dynamic configuration feature. When a user dynamically configures the broker configuration with `AdminClient#alterConfigs`, the submitted config is validated with KafkaConfig, which lacks some validation logic - as a result, they bypasses the correct validation.
For example, a user can set `log.cleaner.min.cleanable.ratio` to -0.5 - which is obviously prohibited in LogConfig.
- I could not reproduce the situation KAFKA-8926 describes, but fixing this problem also resolves KAFKA-8926.
Attachments
Attachments
Issue Links
- relates to
-
KAFKA-8926 Log Cleaner thread dies when log.cleaner.min.cleanable.ratio is set to 0
- Open
- links to