hachikuji commented on a change in pull request #11503: URL: https://github.com/apache/kafka/pull/11503#discussion_r764232658
########## File path: core/src/main/scala/kafka/server/KafkaConfig.scala ########## @@ -1959,10 +1962,26 @@ class KafkaConfig private(doLog: Boolean, val props: java.util.Map[_, _], dynami } } - def listenerSecurityProtocolMap: Map[ListenerName, SecurityProtocol] = { - getMap(KafkaConfig.ListenerSecurityProtocolMapProp, getString(KafkaConfig.ListenerSecurityProtocolMapProp)) + def effectiveListenerSecurityProtocolMap: Map[ListenerName, SecurityProtocol] = { + val mapValue = getMap(KafkaConfig.ListenerSecurityProtocolMapProp, getString(KafkaConfig.ListenerSecurityProtocolMapProp)) .map { case (listenerName, protocolName) => - ListenerName.normalised(listenerName) -> getSecurityProtocol(protocolName, KafkaConfig.ListenerSecurityProtocolMapProp) + ListenerName.normalised(listenerName) -> getSecurityProtocol(protocolName, KafkaConfig.ListenerSecurityProtocolMapProp) + } + if (usesSelfManagedQuorum && !originals.containsKey(ListenerSecurityProtocolMapProp)) { + // Nothing was specified explicitly for listener.security.protocol.map, so we are using the default value, + // and we are using KRaft. + // Add PLAINTEXT mappings for controller listeners as long as there is no SSL or SASL_{PLAINTEXT,SSL} in use + def isSslOrSasl(name: String) : Boolean = name.equals(SecurityProtocol.SSL.name) || name.equals(SecurityProtocol.SASL_SSL.name) || name.equals(SecurityProtocol.SASL_PLAINTEXT.name) + if (controllerListenerNames.exists(isSslOrSasl) || Review comment: Checking my understanding. Is the first clause here necessary for the broker-only case in which the controller listener names are not included in `listeners`? A comment to that effect might be useful. -- 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