justinrlee commented on code in PR #12797:
URL: https://github.com/apache/kafka/pull/12797#discussion_r1042238071


##########
core/src/main/scala/kafka/admin/BrokerApiVersionsCommand.scala:
##########
@@ -95,8 +96,6 @@ object BrokerApiVersionsCommand {
 
     def checkArgs(): Unit = {
       CommandLineUtils.printHelpAndExitIfNeeded(this, "This tool helps to 
retrieve broker version information.")
-      // check required args
-      CommandLineUtils.checkRequiredArgs(parser, options, bootstrapServerOpt)

Review Comment:
   Hey @dengziming thanks for the comment. This is sort of addressed in the PR 
comment. Basically, if the user doesn't pass bootstrap server in either arg or 
property file, you get an exit code of 1 and fairly intuitive error `Missing 
required configuration "bootstrap.servers" which has no default value.`.
   
   I was thinking this would be sufficient, but I can look at adding explicit 
error handling if you think that's better. Was trying to keep this a relatively 
small PR.
   
   > For example, specifying ONLY the property file without bootstrap.servers 
specified will result in output that looks like this, which is fairly intuitive 
to address:
   
   ```
   ./kafka_2.13-3.4.0-SNAPSHOT/bin/kafka-broker-api-versions.sh 
--command-config client-no-bootstrap.properties
   Exception in thread "main" org.apache.kafka.common.config.ConfigException: 
Missing required configuration "bootstrap.servers" which has no default value.
        at 
org.apache.kafka.common.config.ConfigDef.parseValue(ConfigDef.java:493)
        at org.apache.kafka.common.config.ConfigDef.parse(ConfigDef.java:483)
        at 
org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:113)
        at 
org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:146)
        at 
kafka.admin.BrokerApiVersionsCommand$AdminClient$AdminConfig.<init>(BrokerApiVersionsCommand.scala:265)
        at 
kafka.admin.BrokerApiVersionsCommand$AdminClient$.create(BrokerApiVersionsCommand.scala:269)
        at 
kafka.admin.BrokerApiVersionsCommand$AdminClient$.create(BrokerApiVersionsCommand.scala:267)
        at 
kafka.admin.BrokerApiVersionsCommand$.createAdminClient(BrokerApiVersionsCommand.scala:79)
        at 
kafka.admin.BrokerApiVersionsCommand$.execute(BrokerApiVersionsCommand.scala:60)
        at 
kafka.admin.BrokerApiVersionsCommand$.main(BrokerApiVersionsCommand.scala:55)
        at 
kafka.admin.BrokerApiVersionsCommand.main(BrokerApiVersionsCommand.scala)
   ```



-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to