Travis Bischel created KAFKA-12701: -------------------------------------- Summary: 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
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)