[
https://issues.apache.org/jira/browse/KAFKA-20835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18099072#comment-18099072
]
Chia-Ping Tsai commented on KAFKA-20835:
----------------------------------------
{quote}
Why fail if some other config is invalid?
{quote}
But what about cross-field validations? For example, if the group had an
invalid consumer.heartbeat.interval.ms=60000 value caused by restarting the
controller with a new range limit, what happens if users configure
consumer.session.timeout.ms=50000? Should we compare the session timeout with
the invalid heartbeat? If we require all configs to be valid, users must fix
the invalid heartbeat first, and then the session timeout could be checked
against a valid heartbeat
> Group-level alter-config RPC fails, if single group config is invalid
> ---------------------------------------------------------------------
>
> Key: KAFKA-20835
> URL: https://issues.apache.org/jira/browse/KAFKA-20835
> Project: Kafka
> Issue Type: Bug
> Components: group-coordinator
> Reporter: Matthias J. Sax
> Priority: Minor
>
> ControllerConfigurationValidator gets the full post-alter override map, not
> just the altered keys. So if a broker bound is narrowed after an override was
> set, GroupConfig.validate() rejects the stale value on every later alter –
> even one that doesn't touch it.
> Repro: set consumer.session.timeout.ms=90000 on a group, restart controller
> with group.consumer.max.session.timeout.ms=60000, then try to alter
> consumer.heartbeat.interval.ms on the same group -> INVALID_CONFIG on the
> session timeout.
> Impact: the group is stuck until the stale key is fixed or deleted.
> Validation is all-or-nothing per resource, and throws on the first violation,
> so multiple stale keys must all be repaired in one request, discovered one
> error at a time.
> It seems LogConfig may have a similar issue.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)