Chia-Ping Tsai created KAFKA-17268:
--------------------------------------

             Summary: 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: Chia-Ping Tsai



{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