kamalcph commented on PR #16199:
URL: https://github.com/apache/kafka/pull/16199#issuecomment-2161217528

   > > We want to update the below configs dynamically:
   > > 
   > > 1. remote.log.manager.copier.thread.pool.size
   > > 2. remote.log.manager.expiration.thread.pool.size
   > > 3. remote.log.manager.thread.pool.size and
   > > 4. remote.fetch.max.wait.ms
   > > 
   > > Dynamic values gets reflected in two ways:
   > > 
   > > 1. A scheduler which checks the value 
(kafkaConfig.remoteLogManagerConfig.xyz) and performs an action. Once the 
config gets updated dynamically, it takes effect in the next run.
   > > 2. Continuous running job, once the config is updated we have to invoke 
those respective components to take effect the updated config change.
   > > 
   > > How to support dynamic configs for case-1 via this class? `KafkaConfig` 
has a nice abstraction of 
[currentConfig](https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/server/KafkaConfig.scala#L551)
 which handles the dynamic config. One way to do is to move the `getter` 
methods from RLMConfig to `KafkaConfig` to reflect the updated values.
   > > Would like to get your thoughts on this. We can take this up separately.
   > 
   > @kamalcph I was going through DynamicBrokerConfig.scala and found this 
object DynamicRemoteLogConfig { val ReconfigurableConfigs = Set( 
RemoteLogManagerConfig.REMOTE_LOG_INDEX_FILE_CACHE_TOTAL_SIZE_BYTES_PROP ) }
   > 
   > probably we can take this existing approach ? And better to have a jira 
ticket, so it can be discussed openly there.
   
   Went with similar approach as discussed in #16203.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to