[ 
https://issues.apache.org/jira/browse/KAFKA-20835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthias J. Sax updated KAFKA-20835:
------------------------------------
    Description: 
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.

  was:
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.


> 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)

Reply via email to