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)