You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Chia-Ping Tsai (Jira)" <ji...@apache.org> on 2024/08/07 10:51:00 UTC

[jira] [Resolved] (KAFKA-17268) Fix NPE when closing a non-started acceptor

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

Chia-Ping Tsai resolved KAFKA-17268.
------------------------------------
    Fix Version/s: 4.0.0
       Resolution: Fixed

> Fix NPE when closing a non-started acceptor
> -------------------------------------------
>
>                 Key: KAFKA-17268
>                 URL: https://issues.apache.org/jira/browse/KAFKA-17268
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Chia-Ping Tsai
>            Assignee: kangning.li
>            Priority: Minor
>             Fix For: 4.0.0
>
>
> {code:java}
> java.lang.NullPointerException
> 	at kafka.network.Acceptor.$anonfun$closeAll$2(SocketServer.scala:711)
> 	at kafka.utils.CoreUtils$.swallow(CoreUtils.scala:68)
> 	at kafka.network.Acceptor.closeAll(SocketServer.scala:711)
> 	at kafka.network.Acceptor.close(SocketServer.scala:678)
> 	at kafka.network.SocketServer.$anonfun$stopProcessingRequests$4(SocketServer.scala:287)
> 	at kafka.network.SocketServer.$anonfun$stopProcessingRequests$4$adapted(SocketServer.scala:287)
> 	at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
> 	at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
> 	at scala.collection.AbstractIterable.foreach(Iterable.scala:935)
> 	at kafka.network.SocketServer.stopProcessingRequests(SocketServer.scala:287)
> 	at kafka.server.BrokerServer.$anonfun$shutdown$5(BrokerServer.scala:642)
> 	at kafka.utils.CoreUtils$.swallow(CoreUtils.scala:68)
> 	at kafka.server.BrokerServer.shutdown(BrokerServer.scala:642)
> 	at kafka.server.KafkaBroker.shutdown(KafkaBroker.scala:98)
> 	at kafka.server.KafkaBroker.shutdown$(KafkaBroker.scala:98)
> 	at kafka.server.BrokerServer.shutdown(BrokerServer.scala:68)
> 	at kafka.server.BrokerServer.startup(BrokerServer.scala:559)
> 	at kafka.server.KafkaRaftServer.$anonfun$startup$2(KafkaRaftServer.scala:99)
> 	at kafka.server.KafkaRaftServer.$anonfun$startup$2$adapted(KafkaRaftServer.scala:99)
> 	at scala.Option.foreach(Option.scala:437)
> 	at kafka.server.KafkaRaftServer.startup(KafkaRaftServer.scala:99)
> 	at kafka.Kafka$.main(Kafka.scala:112)
> 	at kafka.Kafka.main(Kafka.scala)
> {code}
> The `serverChannel` will be null if `Acceptor`'s thread is not started. Hence, closing a non-started will produce NPE [0]
> [0] https://github.com/apache/kafka/blob/736bd3cd093cd418b4fec5b583359884f23265ff/core/src/main/scala/kafka/network/SocketServer.scala#L677



--
This message was sent by Atlassian Jira
(v8.20.10#820010)