lucliu1108 opened a new pull request, #23453:
URL: https://github.com/apache/kafka/pull/23453
## Summary
`DynamicBrokerConfig#updateCurrentConfig` ->
`KafkaConfig#clampDynamicConfigs` ->
`GroupCoordinatorConfig#clampDynamicConfigs` built `AbstractConfig(CONFIG_DEF,
props)`, which enforces
`org.apache.kafka.automatic.config.providers`. Since props is the full
merged config, a statically-declared provider unrelated to the change could get
rejected, failing the whole update. The workaround stripped `config.providers*`
keys before this call, which also broke resolving values like
`${file:/path:key}` for `group.*.assignment.interval.ms`:
`clampDynamicIntConfig` read that unresolved string straight from props and
crashed on Integer.parseInt. The exception was swallowed by
updateBrokerConfig/updateDefaultConfig, so the update silently never applied.
To solve this problem, `clampDynamicConfigs` now passes props as
`configProviderProps` directly instead of stripping it, so config-provider
values still get resolved while the allowlist is still bypassed for this step
(the change has already passed that allowlist once, in
DynamicBrokerConfig#validate). `clampDynamicIntConfig` now reads the value
through the parsed config instead of the raw string, so a value resolved
through a provider gets clamped correctly.
`DynamicBrokerConfig#updateCurrentConfig` no longer needs to strip/restore
`config.providers*` around the clamp call.
--
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]