Status

Current state: Adopted

Discussion thread: https://lists.apache.org/thread.html/rbe19a71644c85c53de7ea5cfa00e4c90f530332f09758f24709b81f6%40%3Cdev.kafka.apache.org%3E

JIRA: Unable to render Jira issues macro, execution error.

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

componenttypeexistingnew config
JmxReporterconfig
metrics.jmx.blacklist
metrics.jmx.exclude
JmxReporterconfig
metrics.jmx.whitelist
metrics.jmx.include
MirrorMaker 2config
topics.blacklist
topics.exclude
MirrorMaker 2config
groups.blacklist
groups.exclude
MirrorMaker 2config
config.properties.blacklist
config.properties.exclude
kafka-mirror-maker CLI
command line argument
--whitelist
--include
Kafka Connect Transformsconfig
blacklist
exclude
Kafka Connect Transformsconfig
whitelist
include
kafka-console-consumer CLIcommand 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

  • No labels