Magnus Edenhill created KAFKA-9180:
--------------------------------------

             Summary: Broker won't start with empty log dir
                 Key: KAFKA-9180
                 URL: https://issues.apache.org/jira/browse/KAFKA-9180
             Project: Kafka
          Issue Type: Bug
          Components: core
    Affects Versions: 2.4.0
            Reporter: Magnus Edenhill
            Assignee: Ismael Juma


On kafka trunk at commit 1675115ec193acf4c7d44e68a57272edfec0b455:

 

Attempting to start the broker with an existing but empty log dir yields the 
following error and terminates the process:
{code:java}
[2019-11-13 10:42:16,922] ERROR Failed to read meta.properties file under dir 
/Users/magnus/src/librdkafka/tests/tmp/LibrdkafkaTestCluster/73638126/KafkaBrokerApp/2/logs/meta.properties
 due to 
/Users/magnus/src/librdkafka/tests/tmp/LibrdkafkaTestCluster/73638126/KafkaBrokerApp/2/logs/meta.properties
 (No such file or directory) (kafka.server.BrokerMetadataCheckpoint)[2019-11-13 
10:42:16,924] ERROR Fail to read meta.properties under log directory 
/Users/magnus/src/librdkafka/tests/tmp/LibrdkafkaTestCluster/73638126/KafkaBrokerApp/2/logs
 (kafka.server.KafkaServer)java.io.FileNotFoundException: 
/Users/magnus/src/librdkafka/tests/tmp/LibrdkafkaTestCluster/73638126/KafkaBrokerApp/2/logs/meta.properties
 (No such file or directory)        at java.io.FileInputStream.open0(Native 
Method)        at java.io.FileInputStream.open(FileInputStream.java:195)        
at java.io.FileInputStream.<init>(FileInputStream.java:138)        at 
java.io.FileInputStream.<init>(FileInputStream.java:93)        at 
org.apache.kafka.common.utils.Utils.loadProps(Utils.java:512)        at 
kafka.server.BrokerMetadataCheckpoint.liftedTree2$1(BrokerMetadataCheckpoint.scala:73)
        at 
kafka.server.BrokerMetadataCheckpoint.read(BrokerMetadataCheckpoint.scala:72)   
     at 
kafka.server.KafkaServer.$anonfun$getBrokerMetadataAndOfflineDirs$1(KafkaServer.scala:704)
        at 
kafka.server.KafkaServer.$anonfun$getBrokerMetadataAndOfflineDirs$1$adapted(KafkaServer.scala:702)
        at 
scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:36)      
  at 
scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)     
   at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)      
  at 
kafka.server.KafkaServer.getBrokerMetadataAndOfflineDirs(KafkaServer.scala:702) 
       at kafka.server.KafkaServer.startup(KafkaServer.scala:214)        at 
kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:44)        
at kafka.Kafka$.main(Kafka.scala:84)        at kafka.Kafka.main(Kafka.scala) 
{code}
 
 
Changing the catch to FileNotFoundException fixes the issue, here:
[https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/server/BrokerMetadataCheckpoint.scala#L84]
 
 
This is a regression from 2.3.x.
 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to