Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Status

Current state: Under Discussion Adopted

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

JIRA:

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-10201

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 "blocklistinclude" and "allowlist".This follows the model other open source projects set forth, such as exclude", which we already use in other places such as Kafka Connect (see https://chromiumgithub.googlesource.com/chromiumcom/apache/kafka/blob/trunk/connect/runtime/src/+/master/styleguide/inclusive_code.md#racially-neutralmain/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.

...

componenttypeexistingnew config
JmxReporterconfig
metrics.jmx.blacklist
metrics.jmx.blocklistexclude
JmxReporterconfig
metrics.jmx.whitelist
metrics.jmx.allowlistinclude
MirrorMaker 2config
topics.blacklist
topics.blocklistexclude
MirrorMaker 2config
groups.blacklist
groups.blocklist.exclude
MirrorMaker 2config
config.properties.blacklist
config.properties.exclude
kafka-mirror-maker CLI
command line argument
--whitelist
--include
Kafka Connect Transformsconfig
blacklist
blocklistexclude
Kafka Connect Transformsconfig
whitelist
include
kafka-console-consumer CLIcommand line argument
--whitelist
allowlist--include

kafka-replica-verification CLI

command line argument
--topic-white-listtopic
--allowtopics-listinclude

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