huzaifa kagazwala created KAFKA-7889:
----------------------------------------
Summary: Kafka broker crashes on windows when log compaction is
used
Key: KAFKA-7889
URL: https://issues.apache.org/jira/browse/KAFKA-7889
Project: Kafka
Issue Type: Bug
Components: log
Affects Versions: 2.1.0, 1.1.1, 1.1.0
Reporter: huzaifa kagazwala
I am running kafka on a Windows 10 machine tried the latest "kafka_2.12-2.1.0"
build. I created a topic with log compaction enabled for testing. After
publishing some data as soon as the first log rollover happens the server
crashes with the below error.
command used to create the topic.
kafka-topics.bat -create -zookeeper localhost:2181 -topic compact_log__test_2
-replication-factor 1 -partitions 2 -config segment.bytes=100000 -config
segment.ms=600000 -config min.cleanable.dirty.ratio=0.01 -config
compression.type=snappy -config cleanup.policy=compact -config
min.compaction.lag.ms=30000
Error Details:
[2019-01-31 11:12:09,763] INFO [ProducerStateManager
partition=compact_log__test_2-0] Writing producer snapshot at offset 998
(kafka.log.ProducerStateManager)
[2019-01-31 11:12:09,770] INFO [Log partition=compact_log__test_2-0,
dir=C:\kafka_logs] Rolled new log segment at offset 998 in 35 ms.
(kafka.log.Log)
[2019-01-31 11:12:09,791] INFO [ProducerStateManager
partition=compact_log__test_2-1] Writing producer snapshot at offset 1002
(kafka.log.ProducerStateManager)
[2019-01-31 11:12:09,796] INFO [Log partition=compact_log__test_2-1,
dir=C:\kafka_logs] Rolled new log segment at offset 1002 in 17 ms.
(kafka.log.Log)
[2019-01-31 11:12:34,711] ERROR Failed to clean up log for
compact_log__test_2-0 in dir C:\kafka_logs due to IOException
(kafka.server.LogDirFailureChannel)
java.nio.file.FileSystemException:
C:\kafka_logs\compact_log__test_2-0\00000000000000000000.timeindex.cleaned ->
C:\kafka_logs\compact_log__test_2-0\00000000000000000000.timeindex.swap: The
process cannot access the file because it is being used by another process.
at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsFileCopy.move(Unknown Source)
at sun.nio.fs.WindowsFileSystemProvider.move(Unknown Source)
at java.nio.file.Files.move(Unknown Source)
at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:809)
at kafka.log.AbstractIndex.renameTo(AbstractIndex.scala:205)
at kafka.log.LogSegment.changeFileSuffixes(LogSegment.scala:490)
at kafka.log.Log.$anonfun$replaceSegments$4(Log.scala:1892)
at kafka.log.Log.$anonfun$replaceSegments$4$adapted(Log.scala:1892)
at scala.collection.immutable.List.foreach(List.scala:388)
at kafka.log.Log.replaceSegments(Log.scala:1892)
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.FileSystemException:
C:\kafka_logs\compact_log__test_2-0\00000000000000000000.timeindex.cleaned ->
C:\kafka_logs\compact_log__test_2-0\00000000000000000000.timeindex.swap: The
process cannot access the file because it is being used by another process.
at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsFileCopy.move(Unknown Source)
at sun.nio.fs.WindowsFileSystemProvider.move(Unknown Source)
at java.nio.file.Files.move(Unknown Source)
at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:806)
... 16 more
[2019-01-31 11:12:34,716] INFO [ReplicaManager broker=0] Stopping serving
replicas in dir C:\kafka_logs (kafka.server.ReplicaManager)
[2019-01-31 11:12:34,723] INFO [ReplicaFetcherManager on broker 0] Removed
fetcher for partitions Set(__consumer_offsets-22, __consumer_offsets-30,
__consumer_offsets-8, __consumer_offsets-21, __consumer_offsets-4,
__consumer_offsets-27, __consumer_offsets-7, __consumer_offsets-9,
__consumer_offsets-46, __consumer_offsets-25, compact_log__test_2-0,
__consumer_offsets-35, __consumer_offsets-41, __consumer_offsets-33,
__consumer_offsets-23, __consumer_offsets-49, __consumer_offsets-47,
__consumer_offsets-16, __consumer_offsets-28, __consumer_offsets-31,
__consumer_offsets-36, __consumer_offsets-42, __consumer_offsets-3,
__consumer_offsets-18, __consumer_offsets-37, __consumer_offsets-15,
__consumer_offsets-24, __consumer_offsets-38, __consumer_offsets-17,
__consumer_offsets-48, __consumer_offsets-19, __consumer_offsets-11,
__consumer_offsets-13, __consumer_offsets-2, __consumer_offsets-43,
__consumer_offsets-6, __consumer_offsets-14, compact_log__test_2-1,
__consumer_offsets-20, __consumer_offsets-0, __consumer_offsets-44,
__consumer_offsets-39, __consumer_offsets-12, __consumer_offsets-45,
__consumer_offsets-1, __consumer_offsets-5, __consumer_offsets-26,
__consumer_offsets-29, __consumer_offsets-34, __consumer_offsets-10,
__consumer_offsets-32, __consumer_offsets-40)
(kafka.server.ReplicaFetcherManager)
[2019-01-31 11:12:34,724] INFO [ReplicaAlterLogDirsManager on broker 0] Removed
fetcher for partitions Set(__consumer_offsets-22, __consumer_offsets-30,
__consumer_offsets-8, __consumer_offsets-21, __consumer_offsets-4,
__consumer_offsets-27, __consumer_offsets-7, __consumer_offsets-9,
__consumer_offsets-46, __consumer_offsets-25, compact_log__test_2-0,
__consumer_offsets-35, __consumer_offsets-41, __consumer_offsets-33,
__consumer_offsets-23, __consumer_offsets-49, __consumer_offsets-47,
__consumer_offsets-16, __consumer_offsets-28, __consumer_offsets-31,
__consumer_offsets-36, __consumer_offsets-42, __consumer_offsets-3,
__consumer_offsets-18, __consumer_offsets-37, __consumer_offsets-15,
__consumer_offsets-24, __consumer_offsets-38, __consumer_offsets-17,
__consumer_offsets-48, __consumer_offsets-19, __consumer_offsets-11,
__consumer_offsets-13, __consumer_offsets-2, __consumer_offsets-43,
__consumer_offsets-6, __consumer_offsets-14, compact_log__test_2-1,
__consumer_offsets-20, __consumer_offsets-0, __consumer_offsets-44,
__consumer_offsets-39, __consumer_offsets-12, __consumer_offsets-45,
__consumer_offsets-1, __consumer_offsets-5, __consumer_offsets-26,
__consumer_offsets-29, __consumer_offsets-34, __consumer_offsets-10,
__consumer_offsets-32, __consumer_offsets-40)
(kafka.server.ReplicaAlterLogDirsManager)
[2019-01-31 11:12:34,751] INFO [ReplicaManager broker=0] Broker 0 stopped
fetcher for partitions
__consumer_offsets-22,__consumer_offsets-30,__consumer_offsets-8,__consumer_offsets-21,__consumer_offsets-4,__consumer_offsets-27,__consumer_offsets-7,__consumer_offsets-9,__consumer_offsets-46,__consumer_offsets-25,compact_log__test_2-0,__consumer_offsets-35,__consumer_offsets-41,__consumer_offsets-33,__consumer_offsets-23,__consumer_offsets-49,__consumer_offsets-47,__consumer_offsets-16,__consumer_offsets-28,__consumer_offsets-31,__consumer_offsets-36,__consumer_offsets-42,__consumer_offsets-3,__consumer_offsets-18,__consumer_offsets-37,__consumer_offsets-15,__consumer_offsets-24,__consumer_offsets-38,__consumer_offsets-17,__consumer_offsets-48,__consumer_offsets-19,__consumer_offsets-11,__consumer_offsets-13,__consumer_offsets-2,__consumer_offsets-43,__consumer_offsets-6,__consumer_offsets-14,compact_log__test_2-1,__consumer_offsets-20,__consumer_offsets-0,__consumer_offsets-44,__consumer_offsets-39,__consumer_offsets-12,__consumer_offsets-45,__consumer_offsets-1,__consumer_offsets-5,__consumer_offsets-26,__consumer_offsets-29,__consumer_offsets-34,__consumer_offsets-10,__consumer_offsets-32,__consumer_offsets-40
and stopped moving logs for partitions because they are in the failed log
directory C:\kafka_logs. (kafka.server.ReplicaManager)
[2019-01-31 11:12:34,753] INFO Stopping serving logs in dir C:\kafka_logs
(kafka.log.LogManager)
[2019-01-31 11:12:34,759] ERROR Shutdown broker because all log dirs in
C:\kafka_logs have failed (kafka.log.LogManager)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)