wenbingshen commented on a change in pull request #10304: URL: https://github.com/apache/kafka/pull/10304#discussion_r594483345
########## File path: core/src/main/scala/kafka/admin/LogDirsCommand.scala ########## @@ -39,19 +39,29 @@ object LogDirsCommand { def describe(args: Array[String], out: PrintStream): Unit = { val opts = new LogDirsCommandOptions(args) val adminClient = createAdminClient(opts) - val topicList = opts.options.valueOf(opts.topicListOpt).split(",").filter(!_.isEmpty) - val brokerList = Option(opts.options.valueOf(opts.brokerListOpt)) match { - case Some(brokerListStr) => brokerListStr.split(',').filter(!_.isEmpty).map(_.toInt) - case None => adminClient.describeCluster().nodes().get().asScala.map(_.id()).toArray - } + val topicList = opts.options.valueOf(opts.topicListOpt).split(",").filter(_.nonEmpty) + try { + val clusterBrokers = adminClient.describeCluster().nodes().get().asScala.map(_.id()).toSet + val (existingBrokers, nonExistingBrokers) = Option(opts.options.valueOf(opts.brokerListOpt)) match { + case Some(brokerListStr) => + val inputBrokers = brokerListStr.split(',').filter(_.nonEmpty).map(_.toInt).toSet + (inputBrokers, inputBrokers.diff(clusterBrokers)) + case None => (clusterBrokers, Set.empty) + } - out.println("Querying brokers for log directories information") - val describeLogDirsResult: DescribeLogDirsResult = adminClient.describeLogDirs(brokerList.map(Integer.valueOf).toSeq.asJava) - val logDirInfosByBroker = describeLogDirsResult.allDescriptions.get().asScala.map { case (k, v) => k -> v.asScala } + if (nonExistingBrokers.nonEmpty) { + out.println(s"ERROR: The given node(s) does not exist from broker-list: ${nonExistingBrokers.mkString(",")}. Current cluster exist node(s): ${clusterBrokers.mkString(",")}") Review comment: Good idea.I will act right away. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org