Status
Current state: Under Discussion
Discussion thread: here [Change the link from the KIP proposal email archive to your own email thread]
JIRA:
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
Kafka clients report warning for config options that were not used during initialization, for example, a default set of warnings you get when starting Streams application:
The configuration 'admin.retries' was supplied but isn't a known config. The configuration 'auto.register.schemas' was supplied but isn't a known config. The configuration 'schema.registry.url' was supplied but isn't a known config.
This list can be extended if you use some extra configuration, required by your internal infrastructure or if you use some 3rd party plugins. While these config options are valid they create a lot of noise in monitoring. This KIP proposes to make behavior configurable when unknown configs are being processed.
Public Interfaces
- Add new config option "unused.config.reporter.class"
- Add new interface UnusedConfigReporter
Proposed Changes
Add new config option "unused.config.reporter.class" to AbstractConfig. Add new interface UnusedConfigReporter, default implementation for this interface will mimic current behaviour (report warning).
Compatibility, Deprecation, and Migration Plan
It will be a transparent change, as a default behavior will produce the same result as we have today.
Rejected Alternatives
Remove the warning
The warning should stay, as it could save time debugging issues related to incorrect configuration.
Add whitelist property
A comma-separated list of properties, that should be ignored. Requires extra property, but less flexible, that proposed approach.
User config prefix
The idea would be to add a "user config prefix" to allow users to tell clients about additional configs they should ignore. There are maybe some 3rd party libraries, that not comply with a prefix rule and then users stay with a warning and can do nothing about it.