mumrah commented on code in PR #15744:
URL: https://github.com/apache/kafka/pull/15744#discussion_r1569214270


##########
core/src/main/scala/kafka/server/KafkaApis.scala:
##########
@@ -3003,9 +3008,10 @@ class KafkaApis(val requestChannel: RequestChannel,
       }
     }
 
+    // Forwarding has not happened yet, so handle both ZK and KRaft cases here
     if (remaining.resources().isEmpty) {
       sendResponse(Some(new IncrementalAlterConfigsResponseData()))
-    } else if ((!request.isForwarded) && metadataSupport.canForward()) {
+    } else if ((!request.isForwarded) && metadataSupport.canForward() && 
isKRaftController) {

Review Comment:
   It's kind of inconsequential that the ZK controller was handling a forwarded 
IncrementalAlterConfigs. All of the IAC handling is done in KafkaApis and never 
even checks if it's the active controller. 
   
   Basically when handling the broker-specific configs, the broker handling the 
forwarded request (i.e., the ZK controller) would see that the broker ID didn't 
match and fail. 
   
   TBH, a better fix would be to always forward to the ZK controller, and 
update the ZK brokers to react to the ZNode change event to process BROKER and 
BROKER_LOGGER changes. But that's a much bigger change :-/ 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to