gabriellefu opened a new pull request, #23355:
URL: https://github.com/apache/kafka/pull/23355
Follow-up to KAFKA-20973. AlterConfigsIntegrationTest only covered the
request-side
validation of `${file:...}` placeholders. Nothing verified that a
non-STRING dynamic
broker config written as a placeholder is actually applied once the broker
replays the
record from the metadata log. That apply path used to parse the unresolved
placeholder
and silently drop the entry with an ERROR log, which #23267 fixed. The
existing
DynamicBrokerReconfigurationTest#testUpdatesUsingConfigProvider did not
catch it because
its INT config is a custom metrics-reporter key that is not in the broker
ConfigDef, so
the type check never parsed it, and its other configs are STRING and
PASSWORD.
This adds positive cases next to the existing negative ones. Each one
alters a single
config through a FileConfigProvider placeholder, waits until
describeConfigs on the
broker resource reports the entry with the expected source and the
resolved value, and
then reads the broker's live KafkaConfig through the typed getter.
Coverage is by
ConfigDef type since DynamicConfig.Broker.validate only branches on the
type: INT
(`num.io.threads`, both per-broker and cluster-wide so that
updateBrokerConfig and
updateDefaultConfig are each exercised), LONG (`log.retention.ms`), DOUBLE
(`log.cleaner.min.cleanable.ratio`), BOOLEAN (`log.preallocate`) and LIST
with a
validator (`log.cleanup.policy`). There is no dynamic broker config of
type SHORT or
CLASS. With the one-line change from #23267 reverted, all new cases fail
on the
waitForCondition timeout while the existing negative cases are unaffected.
--
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]