weimingdiit commented on PR #7237: URL: https://github.com/apache/ozone/pull/7237#issuecomment-2376876986
> If I understand correctly replicationStreamLimit is already reconfigurable on the DN from: > > ``` > .register(REPLICATION_STREAMS_LIMIT_KEY, > this::reconfigReplicationStreamsLimit); > ``` > > Notice that this parameter is registered, and then there is a callback which is called when the parameter is reconfigured. This makes the ReplicationSupervisor aware of the change and it then adjusts its executor thread pool size accordingly. > > This change, appears to make the configuration object reconfigurable, but I don't see how the changes in the config object are reflected into the replicationSupervisor? Changing the config object is not enough, as the supervisor retrieves the config from the conf object once and then never checks it again. > > To change the queue_limit, you need to change the blockingQueue inside the executor, and I am not sure if that is possible without re-creating the executor. I have not investigated how to do this. @sodonnel Thanks for your comment. apologies for the unclear test results earlier, which may have caused some confusion. In fact, I did not modify the REPLICATION_STREAMS_LIMIT_KEY parameter. I have now updated the relevant test results. Regarding the queue_limit parameter, it is indeed impossible to update it without recreating the ThreadPoolExecutor. I will try to optimize the code. If I plan to recreate the ThreadPoolExecutor, do you think this approach is appropriate? -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
