You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Geoffrey Anderson (JIRA)" <ji...@apache.org> on 2015/07/09 20:38:05 UTC

[jira] [Created] (KAFKA-2327) broker doesn't start if config defines advertised.host but not advertised.port

Geoffrey Anderson created KAFKA-2327:
----------------------------------------

             Summary: broker doesn't start if config defines advertised.host but not advertised.port
                 Key: KAFKA-2327
                 URL: https://issues.apache.org/jira/browse/KAFKA-2327
             Project: Kafka
          Issue Type: Bug
    Affects Versions: 0.8.3
            Reporter: Geoffrey Anderson
            Assignee: Geoffrey Anderson
            Priority: Minor


To reproduce locally, in server.properties, define "advertised.host" and "port", but not "advertised.port" 

port=9092
advertised.host.name=localhost

Then start zookeeper and try to start kafka. The result is an error like so:
[2015-07-09 11:29:20,760] FATAL  (kafka.Kafka$)
kafka.common.KafkaException: Unable to parse PLAINTEXT://localhost:null to a broker endpoint
	at kafka.cluster.EndPoint$.createEndPoint(EndPoint.scala:49)
	at kafka.utils.CoreUtils$$anonfun$listenerListToEndPoints$1.apply(CoreUtils.scala:309)
	at kafka.utils.CoreUtils$$anonfun$listenerListToEndPoints$1.apply(CoreUtils.scala:309)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
	at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
	at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:34)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
	at scala.collection.AbstractTraversable.map(Traversable.scala:105)
	at kafka.utils.CoreUtils$.listenerListToEndPoints(CoreUtils.scala:309)
	at kafka.server.KafkaConfig.getAdvertisedListeners(KafkaConfig.scala:728)
	at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:668)
	at kafka.server.KafkaConfig$.fromProps(KafkaConfig.scala:541)
	at kafka.Kafka$.main(Kafka.scala:58)
	at kafka.Kafka.main(Kafka.scala)


Looks like this was changed in 5c9040745466945a04ea0315de583ccdab0614ac

the cause seems to be in KafkaConfig.scala in the getAdvertisedListeners method, and I believe the fix is (starting at line 727)

    } else if (getString(KafkaConfig.AdvertisedHostNameProp) != null || getInt(KafkaConfig.AdvertisedPortProp) != null) {
      CoreUtils.listenerListToEndPoints("PLAINTEXT://" +
            getString(KafkaConfig.AdvertisedHostNameProp) + ":" + getInt(KafkaConfig.AdvertisedPortProp))

->

    } else if (getString(KafkaConfig.AdvertisedHostNameProp) != null || getInt(KafkaConfig.AdvertisedPortProp) != null) {
      CoreUtils.listenerListToEndPoints("PLAINTEXT://" +
            advertisedHostName + ":" + advertisedPort









--
This message was sent by Atlassian JIRA
(v6.3.4#6332)