You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Jason Gustafson (Jira)" <ji...@apache.org> on 2022/08/22 17:38:00 UTC
[jira] [Updated] (KAFKA-13166) EOFException when Controller handles unknown API
[ https://issues.apache.org/jira/browse/KAFKA-13166?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason Gustafson updated KAFKA-13166:
------------------------------------
Fix Version/s: (was: 3.4.0)
> EOFException when Controller handles unknown API
> ------------------------------------------------
>
> Key: KAFKA-13166
> URL: https://issues.apache.org/jira/browse/KAFKA-13166
> Project: Kafka
> Issue Type: Bug
> Reporter: David Arthur
> Assignee: David Arthur
> Priority: Minor
> Fix For: 3.3.0
>
>
> When ControllerApis handles an unsupported RPC, it silently drops the request due to an unhandled exception.
> The following stack trace was manually printed since this exception was suppressed on the controller.
> {code}
> java.util.NoSuchElementException: key not found: UpdateFeatures
> at scala.collection.MapOps.default(Map.scala:274)
> at scala.collection.MapOps.default$(Map.scala:273)
> at scala.collection.AbstractMap.default(Map.scala:405)
> at scala.collection.mutable.HashMap.apply(HashMap.scala:425)
> at kafka.network.RequestChannel$Metrics.apply(RequestChannel.scala:74)
> at kafka.network.RequestChannel.$anonfun$updateErrorMetrics$1(RequestChannel.scala:458)
> at kafka.network.RequestChannel.$anonfun$updateErrorMetrics$1$adapted(RequestChannel.scala:457)
> at kafka.utils.Implicits$MapExtensionMethods$.$anonfun$forKeyValue$1(Implicits.scala:62)
> at scala.collection.convert.JavaCollectionWrappers$JMapWrapperLike.foreachEntry(JavaCollectionWrappers.scala:359)
> at scala.collection.convert.JavaCollectionWrappers$JMapWrapperLike.foreachEntry$(JavaCollectionWrappers.scala:355)
> at scala.collection.convert.JavaCollectionWrappers$AbstractJMapWrapper.foreachEntry(JavaCollectionWrappers.scala:309)
> at kafka.network.RequestChannel.updateErrorMetrics(RequestChannel.scala:457)
> at kafka.network.RequestChannel.sendResponse(RequestChannel.scala:388)
> at kafka.server.RequestHandlerHelper.sendErrorOrCloseConnection(RequestHandlerHelper.scala:93)
> at kafka.server.RequestHandlerHelper.sendErrorResponseMaybeThrottle(RequestHandlerHelper.scala:121)
> at kafka.server.RequestHandlerHelper.handleError(RequestHandlerHelper.scala:78)
> at kafka.server.ControllerApis.handle(ControllerApis.scala:116)
> at kafka.server.ControllerApis.$anonfun$handleEnvelopeRequest$1(ControllerApis.scala:125)
> at kafka.server.ControllerApis.$anonfun$handleEnvelopeRequest$1$adapted(ControllerApis.scala:125)
> at kafka.server.EnvelopeUtils$.handleEnvelopeRequest(EnvelopeUtils.scala:65)
> at kafka.server.ControllerApis.handleEnvelopeRequest(ControllerApis.scala:125)
> at kafka.server.ControllerApis.handle(ControllerApis.scala:103)
> at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:75)
> at java.lang.Thread.run(Thread.java:748)
> {code}
> This is due to a bug in the metrics code in RequestChannel.
> The result is that the request fails, but no indication is given that it was due to an unsupported API on either the broker, controller, or client.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)