You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Ewen Cheslack-Postava (JIRA)" <ji...@apache.org> on 2019/03/18 01:52:00 UTC

[jira] [Resolved] (KAFKA-7813) JmxTool throws NPE when --object-name is omitted

     [ https://issues.apache.org/jira/browse/KAFKA-7813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ewen Cheslack-Postava resolved KAFKA-7813.
------------------------------------------
       Resolution: Fixed
    Fix Version/s: 2.3.0

Issue resolved by pull request 6139
[https://github.com/apache/kafka/pull/6139]

> JmxTool throws NPE when --object-name is omitted
> ------------------------------------------------
>
>                 Key: KAFKA-7813
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7813
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Attila Sasvari
>            Assignee: huxihx
>            Priority: Minor
>             Fix For: 2.3.0
>
>
> Running the JMX tool without --object-name parameter, results in a NullPointerException:
> {code}
> $ bin/kafka-run-class.sh kafka.tools.JmxTool  --jmx-url service:jmx:rmi:///jndi/rmi://127.0.0.1:9999/jmxrmi
> ...
> Exception in thread "main" java.lang.NullPointerException
> 	at kafka.tools.JmxTool$$anonfun$3.apply(JmxTool.scala:143)
> 	at kafka.tools.JmxTool$$anonfun$3.apply(JmxTool.scala:143)
> 	at scala.collection.LinearSeqOptimized$class.exists(LinearSeqOptimized.scala:93)
> 	at scala.collection.immutable.List.exists(List.scala:84)
> 	at kafka.tools.JmxTool$.main(JmxTool.scala:143)
> 	at kafka.tools.JmxTool.main(JmxTool.scala)
> {code} 
> Documentation of the tool says:
> {code}
> --object-name <String: name>             A JMX object name to use as a query.  
>                                            This can contain wild cards, and    
>                                            this option can be given multiple   
>                                            times to specify more than one      
>                                            query. If no objects are specified  
>                                            all objects will be queried.
> {code}
> Running the tool with {{--object-name ''}}, also results in an NPE:
> {code}
> $ bin/kafka-run-class.sh kafka.tools.JmxTool  --jmx-url service:jmx:rmi:///jndi/rmi://127.0.0.1:9999/jmxrmi --object-name ''
> ...
> Exception in thread "main" java.lang.NullPointerException
> 	at kafka.tools.JmxTool$.main(JmxTool.scala:197)
> 	at kafka.tools.JmxTool.main(JmxTool.scala)
> {code}
> Runnig the tool with --object-name without an argument, the tool with OptionMissingRequiredArgumentException:
> {code}
> $ bin/kafka-run-class.sh kafka.tools.JmxTool  --jmx-url service:jmx:rmi:///jndi/rmi://127.0.0.1:9999/jmxrmi --object-name 
> Exception in thread "main" joptsimple.OptionMissingRequiredArgumentException: Option object-name requires an argument
> 	at joptsimple.RequiredArgumentOptionSpec.detectOptionArgument(RequiredArgumentOptionSpec.java:48)
> 	at joptsimple.ArgumentAcceptingOptionSpec.handleOption(ArgumentAcceptingOptionSpec.java:257)
> 	at joptsimple.OptionParser.handleLongOptionToken(OptionParser.java:513)
> 	at joptsimple.OptionParserState$2.handleArgument(OptionParserState.java:56)
> 	at joptsimple.OptionParser.parse(OptionParser.java:396)
> 	at kafka.tools.JmxTool$.main(JmxTool.scala:104)
> 	at kafka.tools.JmxTool.main(JmxTool.scala)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)