[ 
https://issues.apache.org/jira/browse/KAFKA-12701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17326628#comment-17326628
 ] 

Justine Olshan edited comment on KAFKA-12701 at 4/21/21, 3:49 PM:
------------------------------------------------------------------

Thanks [~twmb] and [~dengziming] for taking a look at this. I am not sure this 
is something for 2.8.0 since that release has already passed the vote. Since 
this is only an issue with v11 and there are admin client public apis 
supporting this usage, I'm thinking that this is ok. We should still fix for 
3.0 and possibly 2.8.x though. Does that make sense?


was (Author: jolshan):
Thanks [~twmb] and [~dengziming] for taking a look at this. I am not sure this 
is something for 2.8.0 since that release has already passed the vote. Since 
this is only an issue with v11 and there are no public apis supporting this 
usage, I'm thinking that this is ok. We should still fix for 3.0 and possibly 
2.8.x though. Does that make sense?

> NPE in MetadataRequest when using topic IDs
> -------------------------------------------
>
>                 Key: KAFKA-12701
>                 URL: https://issues.apache.org/jira/browse/KAFKA-12701
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 2.8.0
>            Reporter: Travis Bischel
>            Assignee: dengziming
>            Priority: Major
>
> Authorized result checking relies on topic name to not be null, which, when 
> using topic IDs, it is.
> Unlike the logic in handleDeleteTopicsRequest, hanelMetadataRequest does not 
> check zk for the names corresponding to topic IDs if topic IDs are present.
> {noformat}
> [2021-04-21 05:53:01,463] ERROR [KafkaApi-1] Error when handling request: 
> clientId=kgo, correlationId=1, api=METADATA, version=11, 
> body=MetadataRequestData(topics=[MetadataRequestTopic(topicId=LmqOoFOASnqQp_4-oJgeKA,
>  name=null)], allowAutoTopicCreation=false, 
> includeClusterAuthorizedOperations=false, 
> includeTopicAuthorizedOperations=false) (kafka.server.RequestHandlerHelper)
> java.lang.NullPointerException: name
>       at java.base/java.util.Objects.requireNonNull(Unknown Source)
>       at 
> org.apache.kafka.common.resource.ResourcePattern.<init>(ResourcePattern.java:50)
>       at 
> kafka.server.AuthHelper.$anonfun$filterByAuthorized$3(AuthHelper.scala:121)
>       at scala.collection.Iterator$$anon$9.next(Iterator.scala:575)
>       at scala.collection.mutable.Growable.addAll(Growable.scala:62)
>       at scala.collection.mutable.Growable.addAll$(Growable.scala:57)
>       at scala.collection.mutable.ArrayBuffer.addAll(ArrayBuffer.scala:142)
>       at scala.collection.mutable.ArrayBuffer.addAll(ArrayBuffer.scala:42)
>       at scala.collection.mutable.ArrayBuffer$.from(ArrayBuffer.scala:258)
>       at scala.collection.mutable.ArrayBuffer$.from(ArrayBuffer.scala:247)
>       at scala.collection.SeqFactory$Delegate.from(Factory.scala:306)
>       at scala.collection.IterableOnceOps.toBuffer(IterableOnce.scala:1270)
>       at scala.collection.IterableOnceOps.toBuffer$(IterableOnce.scala:1270)
>       at scala.collection.AbstractIterator.toBuffer(Iterator.scala:1288)
>       at kafka.server.AuthHelper.filterByAuthorized(AuthHelper.scala:120)
>       at 
> kafka.server.KafkaApis.handleTopicMetadataRequest(KafkaApis.scala:1146)
>       at kafka.server.KafkaApis.handle(KafkaApis.scala:170)
>       at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:74)
>       at java.base/java.lang.Thread.run(Unknown Source)
> [2021-04-21 05:53:01,464] ERROR [Kafka Request Handler 1 on Broker 1], 
> Exception when handling request (kafka.server.KafkaRequestHandler)
> java.lang.NullPointerException
>       at 
> org.apache.kafka.common.message.MetadataResponseData$MetadataResponseTopic.addSize(MetadataResponseData.java:1247)
>       at 
> org.apache.kafka.common.message.MetadataResponseData.addSize(MetadataResponseData.java:417)
>       at 
> org.apache.kafka.common.protocol.SendBuilder.buildSend(SendBuilder.java:218)
>       at 
> org.apache.kafka.common.protocol.SendBuilder.buildResponseSend(SendBuilder.java:200)
>       at 
> org.apache.kafka.common.requests.AbstractResponse.toSend(AbstractResponse.java:43)
>       at 
> org.apache.kafka.common.requests.RequestContext.buildResponseSend(RequestContext.java:111)
>       at 
> kafka.network.RequestChannel$Request.buildResponseSend(RequestChannel.scala:132)
>       at 
> kafka.server.RequestHandlerHelper.sendResponse(RequestHandlerHelper.scala:185)
>       at 
> kafka.server.RequestHandlerHelper.sendErrorOrCloseConnection(RequestHandlerHelper.scala:155)
>       at 
> kafka.server.RequestHandlerHelper.sendErrorResponseMaybeThrottle(RequestHandlerHelper.scala:109)
>       at 
> kafka.server.RequestHandlerHelper.handleError(RequestHandlerHelper.scala:79)
>       at kafka.server.KafkaApis.handle(KafkaApis.scala:229)
>       at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:74)
>       at java.base/java.lang.Thread.run(Unknown Source)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to