[ https://issues.apache.org/jira/browse/KAFKA-16468?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17856185#comment-17856185 ]
Josep Prat commented on KAFKA-16468: ------------------------------------ Changing target fix version to 3.9 since this is not a blocker and we are past code freeze > Listener not found error in SendRPCsToBrokersEvent > -------------------------------------------------- > > Key: KAFKA-16468 > URL: https://issues.apache.org/jira/browse/KAFKA-16468 > Project: Kafka > Issue Type: Bug > Components: controller, migration > Reporter: David Arthur > Priority: Major > Fix For: 3.9.0 > > > During the ZK to KRaft migration, the controller will send RPCs to the ZK > brokers using the configured "control.plane.listener.name" or more commonly, > the "inter.broker.listener.name". If a ZK broker did not register with this > listener, we get a error at the time of sending the first RPC to a broker. > {code} > [2024-04-03 09:28:59,043] ERROR Encountered nonFatalFaultHandler fault: > Unhandled error in SendRPCsToBrokersEvent > (org.apache.kafka.server.fault.MockFaultHandler:44) > kafka.common.BrokerEndPointNotAvailableException: End point with listener > name EXTERNAL not found for broker 0 > at kafka.cluster.Broker.$anonfun$node$1(Broker.scala:94) > at scala.Option.getOrElse(Option.scala:201) > at kafka.cluster.Broker.node(Broker.scala:93) > at > kafka.controller.ControllerChannelManager.addNewBroker(ControllerChannelManager.scala:122) > at > kafka.controller.ControllerChannelManager.addBroker(ControllerChannelManager.scala:105) > at > kafka.migration.MigrationPropagator.$anonfun$publishMetadata$2(MigrationPropagator.scala:98) > at > kafka.migration.MigrationPropagator.$anonfun$publishMetadata$2$adapted(MigrationPropagator.scala:98) > at scala.collection.immutable.Set$Set3.foreach(Set.scala:261) > at > kafka.migration.MigrationPropagator.publishMetadata(MigrationPropagator.scala:98) > at > kafka.migration.MigrationPropagator.sendRPCsToBrokersFromMetadataImage(MigrationPropagator.scala:219) > at > org.apache.kafka.metadata.migration.KRaftMigrationDriver$SendRPCsToBrokersEvent.run(KRaftMigrationDriver.java:777) > at > org.apache.kafka.queue.KafkaEventQueue$EventContext.run(KafkaEventQueue.java:128) > at > org.apache.kafka.queue.KafkaEventQueue$EventHandler.handleEvents(KafkaEventQueue.java:211) > at > org.apache.kafka.queue.KafkaEventQueue$EventHandler.run(KafkaEventQueue.java:182) > at java.base/java.lang.Thread.run(Thread.java:833) > {code} > This is pretty late to be detecting this mis-configuration. By this point, > the KRaft controller is the active controller and has already migrated the > metadata. Recovery is possible by restarting the brokers with the correct > listener names, but we can catch this much sooner in the process. > When a ZK broker registers with the KRaft controller, we should reject the > registration if the expected listener name is not present. This will prevent > the migration from starting. -- This message was sent by Atlassian Jira (v8.20.10#820010)