[ 
https://issues.apache.org/jira/browse/KAFKA-20835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18099228#comment-18099228
 ] 

Yunseop Eom commented on KAFKA-20835:
-------------------------------------

Proposed in PR #22935: https://github.com/apache/kafka/pull/22935

- Group-level alter-config validation now checks individual value bounds only 
for values changed by the current operation.
- Existing overrides that became out of range after broker bound changes no 
longer block unrelated updates.
- Session/heartbeat cross-field validation compares effective values after 
clamping stale overrides to current bounds.
- Unknown config names and newly invalid changed values remain rejected.

Verification:
- ./gradlew group-coordinator:test --tests 
org.apache.kafka.coordinator.group.GroupConfigTest
- ./gradlew core:test --tests kafka.server.ControllerConfigurationValidatorTest
- ./gradlew core:spotlessCheck group-coordinator:spotlessCheck

All commands passed locally. The PR is open and ready for review.

> 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