Bob Halley created KAFKA-2198: --------------------------------- Summary: kafka-topics.sh exits with 0 status on failures Key: KAFKA-2198 URL: https://issues.apache.org/jira/browse/KAFKA-2198 Project: Kafka Issue Type: Bug Components: admin Affects Versions: 0.8.2.1 Reporter: Bob Halley
In the two failure cases below, kafka-topics.sh exits with status 0. You shouldn't need to parse output from the command to know if it failed or not. Case 1: Forgetting to add Kafka zookeeper chroot path to zookeeper spec $ kafka-topics.sh --alter --topic foo --config min.insync.replicas=2 --zookeeper 10.0.0.1 && echo succeeded succeeded Case 2: Bad config option. (Also, do we really need the java backtrace? It's a lot of noise most of the time.) $ kafka-topics.sh --alter --topic foo --config min.insync.replicasTYPO=2 --zookeeper 10.0.0.1/kafka && echo succeeded Error while executing topic command requirement failed: Unknown configuration "min.insync.replicasTYPO". java.lang.IllegalArgumentException: requirement failed: Unknown configuration "min.insync.replicasTYPO". at scala.Predef$.require(Predef.scala:233) at kafka.log.LogConfig$$anonfun$validateNames$1.apply(LogConfig.scala:183) at kafka.log.LogConfig$$anonfun$validateNames$1.apply(LogConfig.scala:182) at scala.collection.Iterator$class.foreach(Iterator.scala:727) at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) at kafka.log.LogConfig$.validateNames(LogConfig.scala:182) at kafka.log.LogConfig$.validate(LogConfig.scala:190) at kafka.admin.TopicCommand$.parseTopicConfigsToBeAdded(TopicCommand.scala:205) at kafka.admin.TopicCommand$$anonfun$alterTopic$1.apply(TopicCommand.scala:103) at kafka.admin.TopicCommand$$anonfun$alterTopic$1.apply(TopicCommand.scala:100) at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) at kafka.admin.TopicCommand$.alterTopic(TopicCommand.scala:100) at kafka.admin.TopicCommand$.main(TopicCommand.scala:57) at kafka.admin.TopicCommand.main(TopicCommand.scala) succeeded -- This message was sent by Atlassian JIRA (v6.3.4#6332)