You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "dengziming (Jira)" <ji...@apache.org> on 2021/08/22 03:48:00 UTC

[jira] [Resolved] (KAFKA-12701) NPE in MetadataRequest when using topic IDs

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

dengziming resolved KAFKA-12701.
--------------------------------
      Assignee: Justine Olshan  (was: dengziming)
    Resolution: Fixed

> 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: Justine Olshan
>            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, handleMetadataRequest 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)