[ https://issues.apache.org/jira/browse/KAFKA-1618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14136362#comment-14136362 ]
Gwen Shapira commented on KAFKA-1618: ------------------------------------- I can't think of other client server system that doesn't guess default ports. Our users use ZooKeeper (at least), so they must be used to clients that guess the default port. However, I agree that this is not critical and mostly a "nice to have". What's important is that the behavior has to be consistent everywhere. If users have to wonder "why does this URI works in X but not in Y", we are doing something wrong. If we decide that guessing is wrong, none of our tools should accept just a server name. > Exception thrown when running console producer with no port number for the > broker > --------------------------------------------------------------------------------- > > Key: KAFKA-1618 > URL: https://issues.apache.org/jira/browse/KAFKA-1618 > Project: Kafka > Issue Type: Improvement > Affects Versions: 0.8.1.1 > Reporter: Gwen Shapira > Assignee: BalajiSeshadri > Labels: newbie > Fix For: 0.8.2 > > Attachments: KAFKA-1618-ALL.patch, KAFKA-1618.patch > > > When running console producer with just "localhost" as the broker list, I get > ArrayIndexOutOfBounds exception. > I expect either a clearer error about arguments or for the producer to > "guess" a default port. > [root@shapira-1 bin]# ./kafka-console-producer.sh --topic rufus1 > --broker-list localhost > java.lang.ArrayIndexOutOfBoundsException: 1 > at > kafka.client.ClientUtils$$anonfun$parseBrokerList$1.apply(ClientUtils.scala:102) > at > kafka.client.ClientUtils$$anonfun$parseBrokerList$1.apply(ClientUtils.scala:97) > 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.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) > at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) > at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) > at scala.collection.AbstractTraversable.map(Traversable.scala:105) > at kafka.client.ClientUtils$.parseBrokerList(ClientUtils.scala:97) > at > kafka.producer.BrokerPartitionInfo.<init>(BrokerPartitionInfo.scala:32) > at > kafka.producer.async.DefaultEventHandler.<init>(DefaultEventHandler.scala:41) > at kafka.producer.Producer.<init>(Producer.scala:59) > at kafka.producer.ConsoleProducer$.main(ConsoleProducer.scala:158) > at kafka.producer.ConsoleProducer.main(ConsoleProducer.scala) -- This message was sent by Atlassian JIRA (v6.3.4#6332)