You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Ismael Juma (JIRA)" <ji...@apache.org> on 2016/12/03 02:06:58 UTC

[jira] [Commented] (KAFKA-4483) NPE in `Log` constructor if log level is INFO or finer

    [ https://issues.apache.org/jira/browse/KAFKA-4483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15717161#comment-15717161 ] 

Ismael Juma commented on KAFKA-4483:
------------------------------------

I updated the title to describe the problem better. It uncovers one of the issues with running tests with ERROR log level.

> NPE in `Log` constructor if log level is INFO or finer
> ------------------------------------------------------
>
>                 Key: KAFKA-4483
>                 URL: https://issues.apache.org/jira/browse/KAFKA-4483
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Vahid Hashemian
>            Assignee: Ismael Juma
>            Priority: Blocker
>             Fix For: 0.10.2.0
>
>
> The latest trunk codebase seems to expose a critical bug. Steps to reproduce on a fresh server:
> 1. {{git clone https://github.com/apache/kafka.git}}
>     {{cd kafka}}
>     {{gradle}}
>     {{./gradlew jar}}
> 2. {{bin/zookeeper-server-start.sh config/zookeeper.properties}}
> 3. {{bin/kafka-server-start.sh config/server.properties}}
> 4. {{bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test}}
> Step 4 causes this exception on the server:
> {code}
> [2016-12-02 14:54:54,597] ERROR [KafkaApi-0] Error when handling request {controller_id=0,controller_epoch=1,partition_states=[{topic=test,partition=0,controller_epoch=1,leader=0,leader_epoch=0,isr=[0],zk_version=0,replicas=[0]}],live_leaders=[{id=0,host=devstack1,port=9092}]} (kafka.server.KafkaApis)
> java.lang.NullPointerException
> 	at kafka.log.Log.logEndOffset(Log.scala:719)
> 	at kafka.log.Log$$anonfun$1.apply(Log.scala:113)
> 	at kafka.log.Log$$anonfun$1.apply(Log.scala:113)
> 	at kafka.utils.Logging$class.info(Logging.scala:70)
> 	at kafka.log.Log.info(Log.scala:86)
> 	at kafka.log.Log.<init>(Log.scala:112)
> 	at kafka.log.LogManager.createLog(LogManager.scala:374)
> 	at kafka.cluster.Partition.getOrCreateReplica(Partition.scala:95)
> 	at kafka.cluster.Partition$$anonfun$4$$anonfun$apply$2.apply(Partition.scala:176)
> 	at kafka.cluster.Partition$$anonfun$4$$anonfun$apply$2.apply(Partition.scala:176)
> 	at scala.collection.mutable.HashSet.foreach(HashSet.scala:79)
> 	at kafka.cluster.Partition$$anonfun$4.apply(Partition.scala:176)
> 	at kafka.cluster.Partition$$anonfun$4.apply(Partition.scala:170)
> 	at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:234)
> 	at kafka.utils.CoreUtils$.inWriteLock(CoreUtils.scala:242)
> 	at kafka.cluster.Partition.makeLeader(Partition.scala:170)
> 	at kafka.server.ReplicaManager$$anonfun$makeLeaders$4.apply(ReplicaManager.scala:756)
> 	at kafka.server.ReplicaManager$$anonfun$makeLeaders$4.apply(ReplicaManager.scala:755)
> 	at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98)
> 	at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98)
> 	at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:226)
> 	at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:39)
> 	at scala.collection.mutable.HashMap.foreach(HashMap.scala:98)
> 	at kafka.server.ReplicaManager.makeLeaders(ReplicaManager.scala:755)
> 	at kafka.server.ReplicaManager.becomeLeaderOrFollower(ReplicaManager.scala:701)
> 	at kafka.server.KafkaApis.handleLeaderAndIsrRequest(KafkaApis.scala:148)
> 	at kafka.server.KafkaApis.handle(KafkaApis.scala:84)
> 	at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:62)
> 	at java.lang.Thread.run(Thread.java:745)
> {code}
> However, the topic seems to be created successfully.
> 5. Stop the server.
> 6. Restart the server. This causes an exception and shuts down the server.
> {code}
> [2016-12-02 14:55:25,056] ERROR There was an error in one of the threads during logs loading: java.lang.NullPointerException (kafka.log.LogManager)
> [2016-12-02 14:55:25,057] FATAL Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
> java.lang.NullPointerException
> 	at kafka.log.Log.logEndOffset(Log.scala:719)
> 	at kafka.log.Log$$anonfun$1.apply(Log.scala:113)
> 	at kafka.log.Log$$anonfun$1.apply(Log.scala:113)
> 	at kafka.utils.Logging$class.info(Logging.scala:70)
> 	at kafka.log.Log.info(Log.scala:86)
> 	at kafka.log.Log.<init>(Log.scala:112)
> 	at kafka.log.LogManager$$anonfun$loadLogs$2$$anonfun$3$$anonfun$apply$10$$anonfun$apply$1.apply$mcV$sp(LogManager.scala:155)
> 	at kafka.utils.CoreUtils$$anon$1.run(CoreUtils.scala:58)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.run(Thread.java:745)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)