rondagostino commented on pull request #11503: URL: https://github.com/apache/kafka/pull/11503#issuecomment-975956591
> I think we need to discuss the question of whether to include controller.listener.names in listener.names a bit more. @cmccabe As discussed offline, it turns out that the current code already forbids `controller.listener.names` from appearing in `listeners` under some circumstances for the KRaft broker-only setup. Config 1: yields **"inter.broker.listener.name must be a listener name defined in advertised.listeners."** ``` process.roles=broker node.id=2 controller.quorum.voters=1@localhost:9093 listeners=PLAINTEXT://localhost:9092 inter.broker.listener.name=PLAINTEXT controller.listener.names=PLAINTEXT ``` Config 2: yields **"advertised.listeners cannot contain any of controller.listener.names"** ``` process.roles=broker node.id=2 controller.quorum.voters=1@localhost:9093 listeners=PLAINTEXT://localhost:9092 inter.broker.listener.name=PLAINTEXT controller.listener.names=PLAINTEXT advertised.listeners=PLAINTEXT://localhost:9092 ``` Config 3: this works as it should; `controller.listener.names` does not appear in `listeners`: ``` process.roles=broker node.id=2 controller.quorum.voters=1@localhost:9093 listeners=PLAINTEXT://localhost:9092 inter.broker.listener.name=PLAINTEXT controller.listener.names=CONTROLLER listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT ``` However, adding CONTROLLER as a listener is acceptable with the current code. For example: **Currently acceptable, should be rejected** ``` process.roles=broker node.id=2 controller.quorum.voters=1@localhost:9093 listeners=PLAINTEXT://localhost:9092,CONTROLLER://localhost:9093 inter.broker.listener.name=PLAINTEXT controller.listener.names=CONTROLLER listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT ``` The inclusion of `CONTROLLER://localhost:9093` in `listeners` adds/does nothing -- in particular, the broker does **not** listen there, so really all it does is encourage confusion. So while this is a breaking change, it is only a breaking change for certain configurations, and it is likely acceptable given that KRaft is still in Preview rather than General Availability. It would be good to add some text about this in KIP-631. -- 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