Repository: kafka Updated Branches: refs/heads/trunk bdbb9672f -> a7e0ac365
KAFKA-2198: kafka-topics.sh exits with 0 status on failures; patched by Manikumar Reddy reviewed by Gwen Shapira Project: http://git-wip-us.apache.org/repos/asf/kafka/repo Commit: http://git-wip-us.apache.org/repos/asf/kafka/commit/a7e0ac36 Tree: http://git-wip-us.apache.org/repos/asf/kafka/tree/a7e0ac36 Diff: http://git-wip-us.apache.org/repos/asf/kafka/diff/a7e0ac36 Branch: refs/heads/trunk Commit: a7e0ac3659c2b499124a866bc0b16b6b1b412376 Parents: bdbb967 Author: Manikumar Reddy <manikumar.re...@gmail.com> Authored: Mon Jul 13 22:08:33 2015 -0700 Committer: Gwen Shapira <csh...@gmail.com> Committed: Mon Jul 13 22:08:33 2015 -0700 ---------------------------------------------------------------------- core/src/main/scala/kafka/admin/TopicCommand.scala | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kafka/blob/a7e0ac36/core/src/main/scala/kafka/admin/TopicCommand.scala ---------------------------------------------------------------------- diff --git a/core/src/main/scala/kafka/admin/TopicCommand.scala b/core/src/main/scala/kafka/admin/TopicCommand.scala index a2ecb96..a90aa87 100755 --- a/core/src/main/scala/kafka/admin/TopicCommand.scala +++ b/core/src/main/scala/kafka/admin/TopicCommand.scala @@ -31,7 +31,7 @@ import org.apache.kafka.common.utils.Utils import kafka.coordinator.ConsumerCoordinator -object TopicCommand { +object TopicCommand extends Logging { def main(args: Array[String]): Unit = { @@ -48,7 +48,7 @@ object TopicCommand { opts.checkArgs() val zkClient = ZkUtils.createZkClient(opts.options.valueOf(opts.zkConnectOpt), 30000, 30000) - + var exitCode = 0 try { if(opts.options.has(opts.createOpt)) createTopic(zkClient, opts) @@ -62,11 +62,14 @@ object TopicCommand { deleteTopic(zkClient, opts) } catch { case e: Throwable => - println("Error while executing topic command " + e.getMessage) - println(Utils.stackTrace(e)) + println("Error while executing topic command : " + e.getMessage) + error(Utils.stackTrace(e)) + exitCode = 1 } finally { zkClient.close() + System.exit(exitCode) } + } private def getTopics(zkClient: ZkClient, opts: TopicCommandOptions): Seq[String] = { @@ -97,7 +100,8 @@ object TopicCommand { def alterTopic(zkClient: ZkClient, opts: TopicCommandOptions) { val topics = getTopics(zkClient, opts) if (topics.length == 0) { - println("Topic %s does not exist".format(opts.options.valueOf(opts.topicOpt))) + throw new IllegalArgumentException("Topic %s does not exist on ZK path %s".format(opts.options.valueOf(opts.topicOpt), + opts.options.valueOf(opts.zkConnectOpt))) } topics.foreach { topic => val configs = AdminUtils.fetchTopicConfig(zkClient, topic) @@ -138,7 +142,8 @@ object TopicCommand { def deleteTopic(zkClient: ZkClient, opts: TopicCommandOptions) { val topics = getTopics(zkClient, opts) if (topics.length == 0) { - println("Topic %s does not exist".format(opts.options.valueOf(opts.topicOpt))) + throw new IllegalArgumentException("Topic %s does not exist on ZK path %s".format(opts.options.valueOf(opts.topicOpt), + opts.options.valueOf(opts.zkConnectOpt))) } topics.foreach { topic => try {