Skip to content

KAFKA-20790: adding assignor broker side validation - #23121

Open
gabriellefu wants to merge 1 commit into
apache:trunkfrom
gabriellefu:broker_validation
Open

KAFKA-20790: adding assignor broker side validation#23121
gabriellefu wants to merge 1 commit into
apache:trunkfrom
gabriellefu:broker_validation

Conversation

@gabriellefu

Copy link
Copy Markdown
Contributor

change the assignor name validation from controller to the broker side

@github-actions github-actions Bot added triage PRs from the community core Kafka Broker group-coordinator labels Aug 10, 2026
Move the streams.assignor.name registry check from the active controller to
the broker that receives the IncrementalAlterConfigs request.

The assignors are registered on brokers, which are the nodes that run the
group coordinator, so the controller was validating a group's selection
against its own group.streams.assignors. KIP-1357 states that the check
relies on "all brokers having the same group.streams.assignors
configuration" - controllers are not brokers, so the implementation
silently required controller nodes to carry a broker-side plugin config and
the custom assignor classes on their classpath. A controller-only node left
unconfigured rejected every custom assignor name, while DescribeConfigs,
which is served by a broker, reported that same name as the group's
effective assignor.

- GroupConfig.validateAssignorName is extracted from validateValues so that
  it can be called with just a name and the registered names. It trims its
  input because it now runs before ConfigDef parses the value.
- ConfigAdminManager.preprocess checks SET operations on
  streams.assignor.name and rejects them with INVALID_CONFIG, so an
  unregistered name is never forwarded to the controller.
- ControllerConfigurationValidator no longer consults the assignor
  registry. It keeps validating the remaining group configs, which need the
  merged post-operation view that only the controller has.

The runtime fallback in GroupMetadataManager is unchanged and remains the
safety net for a name that is not available on the coordinator's broker.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Kafka Broker group-coordinator triage PRs from the community

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant