Status
Current state: Adopted
Discussion thread: https://lists.apache.org/thread.html/rbe19a71644c85c53de7ea5cfa00e4c90f530332f09758f24709b81f6%40%3Cdev.kafka.apache.org%3E
JIRA:
-
KAFKA-10201Getting issue details...
STATUS
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
In a number of places our code uses racially charged terms such as "blacklist" and "whitelist". Other open source projects have taken similar actions: https://chromium.googlesource.com/chromium/src/+/master/styleguide/inclusive_code.md#racially-neutral https://go-review.googlesource.com/c/go/+/236857/.
This is a proposal to replace them with neutral terms such as "include" and "exclude", which we already use in other places such as Kafka Connect (see https://github.com/apache/kafka/blob/trunk/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/TopicCreationConfig.java#L33-L42)
Public Interfaces
Affected configurations and command line arguments will be renamed. The old name will continue to be supported for backwards compatibility, but deprecated.
List of affected configurations
component | type | existing | new config |
---|---|---|---|
JmxReporter | config | metrics.jmx.blacklist | metrics.jmx.exclude |
JmxReporter | config | metrics.jmx.whitelist | metrics.jmx.include |
MirrorMaker 2 | config | topics.blacklist | topics.exclude |
MirrorMaker 2 | config | groups.blacklist | groups.exclude |
MirrorMaker 2 | config | config.properties.blacklist | config.properties.exclude |
kafka-mirror-maker CLI | command line argument | --whitelist | --include |
Kafka Connect Transforms | config | blacklist | exclude |
Kafka Connect Transforms | config | whitelist | include |
kafka-console-consumer CLI | command line argument | --whitelist | --include |
kafka-replica-verification CLI | command line argument | --topic-white-list | --topics-include |
Proposed Changes
In addition to the public interface changes above, internal APIs and other occurrences in code (e.g. method, variable names, comments, and log messages) will be updated accordingly.
Other terms that appear in our codebase we should consider updating:
- replace blackout with backoff
Compatibility, Deprecation, and Migration Plan
Existing configuration names will be deprecated but will continue to work for backwards compatibility.
Rejected Alternatives
N/A