splett2 commented on a change in pull request #11255:
URL: https://github.com/apache/kafka/pull/11255#discussion_r696141192



##########
File path: core/src/main/scala/kafka/controller/KafkaController.scala
##########
@@ -630,7 +630,7 @@ class KafkaController(val config: KafkaConfig,
 
     // If replica failure did not require leader re-election, inform brokers 
of the offline brokers
     // Note that during leader re-election, brokers update their metadata
-    if (partitionsWithOfflineLeader.isEmpty) {
+    if (newOfflineReplicas.isEmpty) {

Review comment:
       I don't follow why the check for `partitionsWithOfflineLeader` is 
necessary.
   
   If the broker doesn't host any replicas, then we need to send out 
`UpdateMetadataRequest` because the partition state machines will not trigger 
any control requests. This is handled by the check for 
`newOfflineReplicas.isEmpty`
   
   If the broker does host replicas, then shouldnt 
`replicaStateMachine.handleStateChanges(newOfflineReplicasNotForDeletion.toSeq, 
OfflineReplica)`
   handle sending out UpdateMetadataRequest to propagate the offline broker? 
`partitionsWithOfflineLeader.isEmpty` seems redundant.




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