EverZhang created KAFKA-7814: -------------------------------- Summary: Broker shut down while cleaning up log file Key: KAFKA-7814 URL: https://issues.apache.org/jira/browse/KAFKA-7814 Project: Kafka Issue Type: Bug Components: log, offset manager Affects Versions: 2.1.0, 1.1.0 Environment: os: aliYun, centos7 docker image:wurstmeister/kafka:2.12-2.1.0 Reporter: EverZhang
Kafka cluster with 3 brokers(version:1.1.0) and is well running for over 6 months. Then we modified partitions from 3 to 48 for every topic after 2018/12/12, then the brokers shutdown every 5-10 days. Then we upgraded the broker from 1.1.0 to 2.1.0, but the brokers still keep shutting down every 5-10 days. Each time, one broker shut down after the following error log, then several minutes later, the other 2 brokers shut down too, with the same error but other partition log files. {code:bash} [2019-01-11 17:16:36,572] INFO [ProducerStateManager partition=__transaction_state-11] Writing producer snapshot at offset 807760 (kafka.log.ProducerStateManager) [2019-01-11 17:16:36,572] INFO [Log partition=__transaction_state-11, dir=/kafka/logs] Rolled new log segment at offset 807760 in 4 ms. (kafka.log.Log) [2019-01-11 17:16:46,150] WARN Resetting first dirty offset of __transaction_state-35 to log start offset 194404 since the checkpointed offset 194345 is invalid. (kafka.log.LogCleanerManager$) [2019-01-11 17:16:46,239] ERROR Failed to clean up log for __transaction_state-11 in dir /kafka/logs due to IOException (kafka.server.LogDirFailureChannel) java.nio.file.NoSuchFileException: /kafka/logs/__transaction_state-11/00000000000000807727.log at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) at sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:409) at sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:262) at java.nio.file.Files.move(Files.java:1395) at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:809) at org.apache.kafka.common.record.FileRecords.renameTo(FileRecords.java:222) at kafka.log.LogSegment.changeFileSuffixes(LogSegment.scala:488) at kafka.log.Log.asyncDeleteSegment(Log.scala:1838) at kafka.log.Log.$anonfun$replaceSegments$6(Log.scala:1901) at kafka.log.Log.$anonfun$replaceSegments$6$adapted(Log.scala:1896) at scala.collection.immutable.List.foreach(List.scala:388) at kafka.log.Log.replaceSegments(Log.scala:1896) at kafka.log.Cleaner.cleanSegments(LogCleaner.scala:583) at kafka.log.Cleaner.$anonfun$doClean$6(LogCleaner.scala:515) at kafka.log.Cleaner.$anonfun$doClean$6$adapted(LogCleaner.scala:514) at scala.collection.immutable.List.foreach(List.scala:388) at kafka.log.Cleaner.doClean(LogCleaner.scala:514) at kafka.log.Cleaner.clean(LogCleaner.scala:492) at kafka.log.LogCleaner$CleanerThread.cleanLog(LogCleaner.scala:353) at kafka.log.LogCleaner$CleanerThread.cleanFilthiestLog(LogCleaner.scala:319) at kafka.log.LogCleaner$CleanerThread.doWork(LogCleaner.scala:300) at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:82) Suppressed: java.nio.file.NoSuchFileException: /kafka/logs/__transaction_state-11/00000000000000807727.log -> /kafka/logs/__transaction_state-11/00000000000000807727.log.deleted at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) at sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:396) at sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:262) at java.nio.file.Files.move(Files.java:1395) at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:806) ... 17 more [2019-01-11 17:16:46,245] INFO [ReplicaManager broker=2] Stopping serving replicas in dir /kafka/logs (kafka.server.ReplicaManager) [2019-01-11 17:16:46,314] INFO Stopping serving logs in dir /kafka/logs (kafka.log.LogManager) [2019-01-11 17:16:46,326] ERROR Shutdown broker because all log dirs in /kafka/logs have failed (kafka.log.LogManager) {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)