Martin M created KAFKA-5751:
-------------------------------
Summary: Kafka cannot start; corrupted index file(s)
Key: KAFKA-5751
URL: https://issues.apache.org/jira/browse/KAFKA-5751
Project: Kafka
Issue Type: Bug
Components: log
Affects Versions: 0.11.0.0
Environment: Linux (RedHat 7)
Reporter: Martin M
Priority: Critical
A system was running Kafka 0.11.0 and some applications that produce and
consume events.
During the runtime, a power outage was experienced. Upon restart, Kafka did not
recover.
Logs show repeatedly the messages below:
*server.log*
{noformat}
[2017-08-15 15:02:26,374] FATAL [Kafka Server 1001], Fatal error during
KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
org.apache.kafka.common.protocol.types.SchemaException: Error reading field
'version': java.nio.BufferUnderflowException
at org.apache.kafka.common.protocol.types.Schema.read(Schema.java:75)
at
kafka.log.ProducerStateManager$.readSnapshot(ProducerStateManager.scala:289)
at
kafka.log.ProducerStateManager.loadFromSnapshot(ProducerStateManager.scala:440)
at
kafka.log.ProducerStateManager.truncateAndReload(ProducerStateManager.scala:499)
at kafka.log.Log.kafka$log$Log$$recoverSegment(Log.scala:327)
at kafka.log.Log$$anonfun$loadSegmentFiles$3.apply(Log.scala:314)
at kafka.log.Log$$anonfun$loadSegmentFiles$3.apply(Log.scala:272)
at
scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:733)
at
scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
at
scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:732)
at kafka.log.Log.loadSegmentFiles(Log.scala:272)
at kafka.log.Log.loadSegments(Log.scala:376)
at kafka.log.Log.<init>(Log.scala:179)
at kafka.log.Log$.apply(Log.scala:1580)
at
kafka.log.LogManager$$anonfun$loadLogs$2$$anonfun$5$$anonfun$apply$12$$anonfun$apply$1.apply$mcV$sp(LogManager.scala:172)
at kafka.utils.CoreUtils$$anon$1.run(CoreUtils.scala:57)
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:748)
{noformat}
*kafkaServer.out*
{noformat}
[2017-08-15 16:03:50,927] WARN Found a corrupted index file due to requirement
failed: Corrupt index found, index file
(/opt/nsp/os/kafka/data/session-manager.revoke_token_topic-7/00000000000000000000.index)
has non-zero size but the last offset is 0 which is no larger than the base
offset 0.}. deleting
/opt/nsp/os/kafka/data/session-manager.revoke_token_topic-7/00000000000000000000.timeindex,
/opt/nsp/os/kafka/data/session-manager.revoke_token_topic-7/00000000000000000000.index,
and
/opt/nsp/os/kafka/data/session-manager.revoke_token_topic-7/00000000000000000000.txnindex
and rebuilding index... (kafka.log.Log)
[2017-08-15 16:03:50,931] INFO [Kafka Server 1001], shutting down
(kafka.server.KafkaServer)
[2017-08-15 16:03:50,932] INFO Recovering unflushed segment 0 in log
session-manager.revoke_token_topic-7. (kafka.log.Log)
[2017-08-15 16:03:50,935] INFO Terminate ZkClient event thread.
(org.I0Itec.zkclient.ZkEventThread)
[2017-08-15 16:03:50,936] INFO Loading producer state from offset 0 for
partition session-manager.revoke_token_topic-7 with message format version 2
(kafka.log.Log)
[2017-08-15 16:03:50,937] INFO Completed load of log
session-manager.revoke_token_topic-7 with 1 log segments, log start offset 0
and log end offset 0 in 10 ms (kafka.log.Log)
[2017-08-15 16:03:50,938] INFO Session: 0x1000f772d26063b closed
(org.apache.zookeeper.ZooKeeper)
[2017-08-15 16:03:50,938] INFO EventThread shut down for session:
0x1000f772d26063b (org.apache.zookeeper.ClientCnxn)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)