You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Colin McCabe (Jira)" <ji...@apache.org> on 2024/10/15 21:36:00 UTC
[jira] [Resolved] (KAFKA-17788) During ZK migration, always include control.plane.listener.name in advertisedBrokerListeners
[ https://issues.apache.org/jira/browse/KAFKA-17788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Colin McCabe resolved KAFKA-17788.
----------------------------------
Fix Version/s: 3.9.0
Reviewer: Luke Chen
Resolution: Fixed
> During ZK migration, always include control.plane.listener.name in advertisedBrokerListeners
> --------------------------------------------------------------------------------------------
>
> Key: KAFKA-17788
> URL: https://issues.apache.org/jira/browse/KAFKA-17788
> Project: Kafka
> Issue Type: Bug
> Affects Versions: 3.9.0
> Reporter: Jakub Scholz
> Assignee: Colin McCabe
> Priority: Blocker
> Fix For: 3.9.0
>
> Attachments: logs-pod-cluster-9833cba6-kafka-1-container-kafka.log
>
>
> When testing migration with Kafka 3.9.0-RC2, the broker fail to start when they are first rolled to start the migration with the following error:
> {code}
> 2024-10-11 21:37:04,060 ERROR Exiting Kafka due to fatal exception (kafka.Kafka$) [main]
> java.lang.IllegalArgumentException: requirement failed: control.plane.listener.name must be a listener name defined in advertised.listeners. The valid options based on currently configured listeners are REPLICATION-9091,PLAIN-9092,TLS-9093
> at scala.Predef$.require(Predef.scala:337)
> at kafka.server.KafkaConfig.validateValues(KafkaConfig.scala:1019)
> at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:843)
> at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:185)
> at kafka.Kafka$.buildServer(Kafka.scala:71)
> at kafka.Kafka$.main(Kafka.scala:90)
> at kafka.Kafka.main(Kafka.scala)
> {code}
> This is despite our configuration having the {control.plane.listener.name} properly configured:
> {code}
> listener.security.protocol.map=CONTROLPLANE-9090:SSL,REPLICATION-9091:SSL,PLAIN-9092:SASL_PLAINTEXT,TLS-9093:SSL
> listeners=CONTROLPLANE-9090://0.0.0.0:9090,REPLICATION-9091://0.0.0.0:9091,PLAIN-9092://0.0.0.0:9092,TLS-9093://0.0.0.0:9093
> advertised.listeners=CONTROLPLANE-9090://cluster-9833cba6-kafka-1.cluster-9833cba6-kafka-brokers.test-suite-namespace.svc:9090,REPLICATION-9091://cluster-9833cba6-kafka-1.cluster-9833cba6-kafka-brokers.test-suite-namespace.svc:9091,PLAIN-9092://cluster-9833cba6-kafka-1.cluster-9833cba6-kafka-brokers.test-suite-namespace.svc:9092,TLS-9093://cluster-9833cba6-kafka-1.cluster-9833cba6-kafka-brokers.test-suite-namespace.svc:9093
> inter.broker.listener.name=REPLICATION-9091
> control.plane.listener.name=CONTROLPLANE-9090
> {code}
> It looks like 3.9.0-RC2 filters out the control plane listener (maybe because it is used by the KRaft controllers as well?) and runs into this error. This worked fine in 3.8.0, so this seems like a regression in 3.9.0 that should be fixed.
> The full log from the broker node is attached. It includes the full configuration of the broker as well.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)