[
https://issues.apache.org/jira/browse/KAFKA-14485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17938848#comment-17938848
]
Chia-Ping Tsai commented on KAFKA-14485:
----------------------------------------
[~javakillah] that is a good question. we have different ways to handle the
dynamical config in code base.
1. using the self-updated KafkaConfig, likes `ReplicaManager`
2. using the reconfigurable interface to refresh the inner config, likes
`LogCleaner`
Personally, I don't like the self-updated KafkaConfig, since it creates
complicated dependencies and god object.
Go back to your question. I prefer to try following changes.
1. move the cleaner-related getters from KafkaConfig to `CleanerConfig`
2. temporarily allow `KafkaConfig` to create `CleanerConfig` to access the
getters for some config
3. CleanerConfig constructor can take `AbstractConfig` to initialize all
variables
In order to address above changes, we can move
`org.apache.kafka.server.config.BrokerReconfigurable` to server-common module
and change the "AbstractKafkaConfig" to "AbstractConfig". Of course, we need to
do a bit refactor for `DynamicProducerStateManagerConfig`
> Move LogCleaner to storage module
> ---------------------------------
>
> Key: KAFKA-14485
> URL: https://issues.apache.org/jira/browse/KAFKA-14485
> Project: Kafka
> Issue Type: Sub-task
> Reporter: Ismael Juma
> Assignee: Dmitry Werner
> Priority: Major
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)