urbandan commented on a change in pull request #9430: URL: https://github.com/apache/kafka/pull/9430#discussion_r569496512
########## File path: core/src/main/scala/kafka/tools/GetOffsetShell.scala ########## @@ -89,33 +106,34 @@ object GetOffsetShell { } val listOffsetsTimestamp = options.valueOf(timeOpt).longValue - val config = new Properties + val topicPartitionFilter = if (options.has(topicPartitionsOpt)) { + createTopicPartitionFilterWithPatternList(options.valueOf(topicPartitionsOpt), excludeInternalTopics) + } else { + createTopicPartitionFilterWithTopicAndPartitionPattern( + if (options.has(topicOpt)) Some(options.valueOf(topicOpt)) else None, + excludeInternalTopics, + partitionIdsRequested + ) + } + + val config = if (options.has(commandConfigOpt)) + Utils.loadProps(options.valueOf(commandConfigOpt)) + else + new Properties config.setProperty(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, brokerList) config.setProperty(ConsumerConfig.CLIENT_ID_CONFIG, clientId) val consumer = new KafkaConsumer(config, new ByteArrayDeserializer, new ByteArrayDeserializer) - val partitionInfos = listPartitionInfos(consumer, topic, partitionIdsRequested) match { - case None => - System.err.println(s"Topic $topic does not exist") - Exit.exit(1) - case Some(p) if p.isEmpty => - if (partitionIdsRequested.isEmpty) - System.err.println(s"Topic $topic has 0 partitions") - else - System.err.println(s"Topic $topic does not have any of the requested partitions ${partitionIdsRequested.mkString(",")}") - Exit.exit(1) - case Some(p) => p - } + val partitionInfos = listPartitionInfos(consumer, topicPartitionFilter) - if (partitionIdsRequested.nonEmpty) { - (partitionIdsRequested -- partitionInfos.map(_.partition)).foreach { partitionId => - System.err.println(s"Error: partition $partitionId does not exist") - } + if (partitionInfos.isEmpty) { + System.err.println(s"Could not match any topic-partitions with the specified filters") + Exit.exit(1) Review comment: Overall, I agree. Removed the exit calls, but left other util calls possibly invoking exit. ---------------------------------------------------------------- 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