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)

Reply via email to