[ 
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)

Reply via email to