[ https://issues.apache.org/jira/browse/KAFKA-10220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17148738#comment-17148738 ]
huxihx commented on KAFKA-10220: -------------------------------- [~ijuma] This should affect 2.6 as well since `configurationKeys` starts to be initialized in 2.7, due to the refinement introduced by [KAFKA-9432|https://issues.apache.org/jira/browse/KAFKA-9432]. Anyway, since `configurationKeys` is a nullable, an empty check should be added when processing the resources in AdminManager. > NPE when describing resources > ----------------------------- > > Key: KAFKA-10220 > URL: https://issues.apache.org/jira/browse/KAFKA-10220 > Project: Kafka > Issue Type: Bug > Components: core > Reporter: Edoardo Comar > Assignee: Luke Chen > Priority: Major > > In current trunk code > Describing a topic from the CLI can fail with an NPE in the broker > on the line > {{ > resource.configurationKeys.asScala.forall(_.contains(configName))}} > > (configurationKeys is null) > {{[2020-06-30 11:10:39,464] ERROR [Admin Manager on Broker 0]: Error > processing describe configs request for resource > DescribeConfigsResource(resourceType=2, resourceName='topic1', > configurationKeys=null) > (kafka.server.AdminManager)}}{{java.lang.NullPointerException}}{{at > kafka.server.AdminManager.$anonfun$describeConfigs$3(AdminManager.scala:395)}}{{at > > kafka.server.AdminManager.$anonfun$describeConfigs$3$adapted(AdminManager.scala:393)}}{{at > > scala.collection.TraversableLike.$anonfun$filterImpl$1(TraversableLike.scala:248)}}{{at > scala.collection.Iterator.foreach(Iterator.scala:929)}}{{at > scala.collection.Iterator.foreach$(Iterator.scala:929)}}{{at > scala.collection.AbstractIterator.foreach(Iterator.scala:1417)}}{{at > scala.collection.IterableLike.foreach(IterableLike.scala:71)}}{{at > scala.collection.IterableLike.foreach$(IterableLike.scala:70)}}{{at > scala.collection.AbstractIterable.foreach(Iterable.scala:54)}}{{at > scala.collection.TraversableLike.filterImpl(TraversableLike.scala:247)}}{{at > scala.collection.TraversableLike.filterImpl$(TraversableLike.scala:245)}}{{at > scala.collection.AbstractTraversable.filterImpl(Traversable.scala:104)}}{{at > scala.collection.TraversableLike.filter(TraversableLike.scala:259)}}{{at > scala.collection.TraversableLike.filter$(TraversableLike.scala:259)}}{{at > scala.collection.AbstractTraversable.filter(Traversable.scala:104)}}{{at > kafka.server.AdminManager.createResponseConfig$1(AdminManager.scala:393)}}{{at > > kafka.server.AdminManager.$anonfun$describeConfigs$1(AdminManager.scala:412)}}{{at > scala.collection.immutable.List.map(List.scala:283)}}{{at > kafka.server.AdminManager.describeConfigs(AdminManager.scala:386)}}{{at > kafka.server.KafkaApis.handleDescribeConfigsRequest(KafkaApis.scala:2595)}}{{at > kafka.server.KafkaApis.handle(KafkaApis.scala:165)}}{{at > kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:70)}}{{at > java.lang.Thread.run(Thread.java:748)}} -- This message was sent by Atlassian Jira (v8.3.4#803005)