chia7712 commented on code in PR #18387:
URL: https://github.com/apache/kafka/pull/18387#discussion_r2011523341
##########
core/src/main/scala/kafka/server/KafkaConfig.scala:
##########
@@ -519,29 +519,44 @@ class KafkaConfig private(doLog: Boolean, val props:
util.Map[_, _])
}
def effectiveAdvertisedControllerListeners: Seq[EndPoint] = {
- val controllerAdvertisedListeners = advertisedListeners.filter(l =>
controllerListenerNames.contains(l.listenerName.value()))
+ val advertisedListenersProp =
getString(SocketServerConfigs.ADVERTISED_LISTENERS_CONFIG)
+ val controllerAdvertisedListeners = if (advertisedListenersProp != null) {
+ CoreUtils.listenerListToEndPoints(advertisedListenersProp,
effectiveListenerSecurityProtocolMap, requireDistinctPorts=false)
+ .filter(l => controllerListenerNames.contains(l.listenerName.value()))
+ } else {
+ Seq.empty
+ }
val controllerListenersValue = controllerListeners
controllerListenerNames.flatMap { name =>
controllerAdvertisedListeners
.find(endpoint =>
endpoint.listenerName.equals(ListenerName.normalised(name)))
- .orElse(controllerListenersValue.find(endpoint =>
endpoint.listenerName.equals(ListenerName.normalised(name))))
+ .orElse(
+ // If users don't define advertised.listeners, the advertised
controller listeners inherit from listeners configuration
+ // which match listener names in controller.listener.names.
+ // Removing "0.0.0.0" host to avoid validation errors. This is to be
compatible with the old behavior before 3.9.
+ // The null or "" host does a reverse lookup in
ListenerInfo#withWildcardHostnamesResolved.
+ controllerListenersValue
+ .find(endpoint =>
endpoint.listenerName.equals(ListenerName.normalised(name)))
+ .map(endpoint => if (endpoint.host == "0.0.0.0") {
Review Comment:
@jsancio @FrankYang0529 Pardon me, should we apply this to broker listener
(`effectiveAdvertisedBrokerListeners`) for consistency?
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]