Grégory R. created KAFKA-6901:
---------------------------------
Summary: Kafka crashes when trying to delete segment when
retetention time is reached
Key: KAFKA-6901
URL: https://issues.apache.org/jira/browse/KAFKA-6901
Project: Kafka
Issue Type: Bug
Components: core, log
Affects Versions: 1.0.0
Environment: OS: Windows Server 2012 R2
Reporter: Grégory R.
Following the parameter
{code:java}
log.retention.hours = 16{code}
kafka tries to delete segments.
This action crashes the server with following log:
{code:java}
[2018-05-11 15:17:58,036] INFO Found deletable segments with base offsets [0]
due to retention time 604800000ms breach (kafka.log.Log)
[2018-05-11 15:17:58,068] INFO Rolled new log segment for 'event-0' in 12 ms.
(kafka.log.Log)
[2018-05-11 15:17:58,068] INFO Scheduling log segment 0 for log event-0 for
deletion. (kafka.log.Log)
[2018-05-11 15:17:58,068] ERROR Error while deleting segments for event-0 in
dir C:\App\VISBridge\kafka_2.12-1.0.0\kafka-log (kafka.server.L
ogDirFailureChannel)
java.nio.file.FileSystemException:
C:\App\VISBridge\kafka_2.12-1.0.0\kafka-log\event-0\00000000000000000000.log ->
C:\App\VISBridge\kafka_2.
12-1.0.0\kafka-log\event-0\00000000000000000000.log.deleted: Le processus ne
peut pas accÚder au fichier car ce fichier est utilisÚ par un a
utre processus.
at
sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
at
sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:387)
at
sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287)
at java.nio.file.Files.move(Files.java:1395)
at
org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:682)
at
org.apache.kafka.common.record.FileRecords.renameTo(FileRecords.java:212)
at kafka.log.LogSegment.changeFileSuffixes(LogSegment.scala:398)
at kafka.log.Log.asyncDeleteSegment(Log.scala:1592)
at kafka.log.Log.deleteSegment(Log.scala:1579)
at kafka.log.Log.$anonfun$deleteSegments$3(Log.scala:1152)
at kafka.log.Log.$anonfun$deleteSegments$3$adapted(Log.scala:1152)
at
scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:59)
at
scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:52)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
at kafka.log.Log.$anonfun$deleteSegments$2(Log.scala:1152)
at
scala.runtime.java8.JFunction0$mcI$sp.apply(JFunction0$mcI$sp.java:12)
at kafka.log.Log.maybeHandleIOException(Log.scala:1669)
at kafka.log.Log.deleteSegments(Log.scala:1143)
at kafka.log.Log.deleteOldSegments(Log.scala:1138)
at kafka.log.Log.deleteRetentionMsBreachedSegments(Log.scala:1211)
at kafka.log.Log.deleteOldSegments(Log.scala:1204)
at kafka.log.LogManager.$anonfun$cleanupLogs$3(LogManager.scala:715)
at
kafka.log.LogManager.$anonfun$cleanupLogs$3$adapted(LogManager.scala:713)
at
scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:789)
at scala.collection.Iterator.foreach(Iterator.scala:929)
at scala.collection.Iterator.foreach$(Iterator.scala:929)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1417)
at scala.collection.IterableLike.foreach(IterableLike.scala:71)
at scala.collection.IterableLike.foreach$(IterableLike.scala:70)
at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
at
scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:788)
at kafka.log.LogManager.cleanupLogs(LogManager.scala:713)
at kafka.log.LogManager.$anonfun$startup$2(LogManager.scala:341)
at
kafka.utils.KafkaScheduler.$anonfun$schedule$2(KafkaScheduler.scala:110)
at kafka.utils.CoreUtils$$anon$1.run(CoreUtils.scala:61)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Suppressed: java.nio.file.FileSystemException:
C:\App\VISBridge\kafka_2.12-1.0.0\kafka-log\event-0\00000000000000000000.log ->
C:\Ap
p\VISBridge\kafka_2.12-1.0.0\kafka-log\event-0\00000000000000000000.log.deleted:
Le processus ne peut pas accÚder au fichier car ce fichier
est utilisÚ par un autre processus.
at
sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
at
sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:301)
at
sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287)
at java.nio.file.Files.move(Files.java:1395)
at
org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:679)
... 37 more
[2018-05-11 15:17:58,083] INFO [ReplicaManager broker=0] Stopping serving
replicas in dir C:\App\VISBridge\kafka_2.12-1.0.0\kafka-log (kafka
.server.ReplicaManager)
[2018-05-11 15:17:58,083] ERROR Uncaught exception in scheduled task
'kafka-log-retention' (kafka.utils.KafkaScheduler)
org.apache.kafka.common.errors.KafkaStorageException: Error while deleting
segments for event-0 in dir C:\App\VISBridge\kafka_2.12-1.0.0\kaf
ka-log
Caused by: java.nio.file.FileSystemException:
C:\App\VISBridge\kafka_2.12-1.0.0\kafka-log\event-0\00000000000000000000.log ->
C:\App\VISBrid
ge\kafka_2.12-1.0.0\kafka-log\event-0\00000000000000000000.log.deleted: Le
processus ne peut pas accÚder au fichier car ce fichier est utili
sÚ par un autre processus.
at
sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
at
sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:387)
at
sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287)
at java.nio.file.Files.move(Files.java:1395)
at
org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:682)
at
org.apache.kafka.common.record.FileRecords.renameTo(FileRecords.java:212)
at kafka.log.LogSegment.changeFileSuffixes(LogSegment.scala:398)
at kafka.log.Log.asyncDeleteSegment(Log.scala:1592)
at kafka.log.Log.deleteSegment(Log.scala:1579)
at kafka.log.Log.$anonfun$deleteSegments$3(Log.scala:1152)
at kafka.log.Log.$anonfun$deleteSegments$3$adapted(Log.scala:1152)
at
scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:59)
at
scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:52)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
at kafka.log.Log.$anonfun$deleteSegments$2(Log.scala:1152)
at
scala.runtime.java8.JFunction0$mcI$sp.apply(JFunction0$mcI$sp.java:12)
at kafka.log.Log.maybeHandleIOException(Log.scala:1669)
at kafka.log.Log.deleteSegments(Log.scala:1143)
at kafka.log.Log.deleteOldSegments(Log.scala:1138)
at kafka.log.Log.deleteRetentionMsBreachedSegments(Log.scala:1211)
at kafka.log.Log.deleteOldSegments(Log.scala:1204)
at kafka.log.LogManager.$anonfun$cleanupLogs$3(LogManager.scala:715)
at
kafka.log.LogManager.$anonfun$cleanupLogs$3$adapted(LogManager.scala:713)
at
scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:789)
at scala.collection.Iterator.foreach(Iterator.scala:929)
at scala.collection.Iterator.foreach$(Iterator.scala:929)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1417)
at scala.collection.IterableLike.foreach(IterableLike.scala:71)
at scala.collection.IterableLike.foreach$(IterableLike.scala:70)
at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
at
scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:788)
at kafka.log.LogManager.cleanupLogs(LogManager.scala:713)
at kafka.log.LogManager.$anonfun$startup$2(LogManager.scala:341)
at
kafka.utils.KafkaScheduler.$anonfun$schedule$2(KafkaScheduler.scala:110)
at kafka.utils.CoreUtils$$anon$1.run(CoreUtils.scala:61)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Suppressed: java.nio.file.FileSystemException:
C:\App\VISBridge\kafka_2.12-1.0.0\kafka-log\event-0\00000000000000000000.log ->
C:\Ap
p\VISBridge\kafka_2.12-1.0.0\kafka-log\event-0\00000000000000000000.log.deleted:
Le processus ne peut pas accÚder au fichier car ce fichier
est utilisÚ par un autre processus.
at
sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
at
sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:301)
at
sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287)
at java.nio.file.Files.move(Files.java:1395)
at
org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:679)
... 37 more
[2018-05-11 15:17:58,083] INFO [ReplicaManager broker=0] Partitions
__consumer_offsets-22,__consumer_offsets-30,__consumer_offsets-8,__consu
mer_offsets-21,__consumer_offsets-4,__consumer_offsets-27,__consumer_offsets-7,__consumer_offsets-9,__consumer_offsets-46,__consumer_offsets
-25,__consumer_offsets-35,__consumer_offsets-41,__consumer_offsets-33,__consumer_offsets-23,__consumer_offsets-49,output-0,__consumer_offset
s-47,__consumer_offsets-16,__consumer_offsets-28,__consumer_offsets-31,__consumer_offsets-36,__consumer_offsets-42,__consumer_offsets-3,__co
nsumer_offsets-18,__consumer_offsets-37,__consumer_offsets-15,__consumer_offsets-24,__consumer_offsets-38,__consumer_offsets-17,__consumer_o
ffsets-48,__consumer_offsets-19,__consumer_offsets-11,__consumer_offsets-13,__consumer_offsets-2,__consumer_offsets-43,__consumer_offsets-6,
__consumer_offsets-14,event-0,__consumer_offsets-20,__consumer_offsets-0,__consumer_offsets-44,__consumer_offsets-39,__consumer_offsets-12,d
ata-0,__consumer_offsets-45,__consumer_offsets-1,__consumer_offsets-5,__consumer_offsets-26,__consumer_offsets-29,__consumer_offsets-34,__co
nsumer_offsets-10,__consumer_offsets-32,__consumer_offsets-40 are offline due
to failure on log directory C:\App\VISBridge\kafka_2.12-1.0.0\
kafka-log (kafka.server.ReplicaManager)
[2018-05-11 15:17:58,146] INFO [ReplicaFetcherManager on broker 0] Removed
fetcher for partitions __consumer_offsets-22,__consumer_offsets-3
0,__consumer_offsets-8,__consumer_offsets-21,__consumer_offsets-4,__consumer_offsets-27,__consumer_offsets-7,__consumer_offsets-9,__consumer
_offsets-46,__consumer_offsets-25,__consumer_offsets-35,__consumer_offsets-41,__consumer_offsets-33,__consumer_offsets-23,__consumer_offsets
-49,output-0,__consumer_offsets-47,__consumer_offsets-16,__consumer_offsets-28,__consumer_offsets-31,__consumer_offsets-36,__consumer_offset
s-42,__consumer_offsets-3,__consumer_offsets-18,__consumer_offsets-37,__consumer_offsets-15,__consumer_offsets-24,__consumer_offsets-38,__co
nsumer_offsets-17,__consumer_offsets-48,__consumer_offsets-19,__consumer_offsets-11,__consumer_offsets-13,__consumer_offsets-2,__consumer_of
fsets-43,__consumer_offsets-6,__consumer_offsets-14,event-0,__consumer_offsets-20,__consumer_offsets-0,__consumer_offsets-44,__consumer_offs
ets-39,__consumer_offsets-12,data-0,__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)
[2018-05-11 15:17:58,146] INFO [ReplicaManager broker=0] Broker 0 stopped
fetcher for partitions __consumer_offsets-22, __consumer_offsets-3
0, __consumer_offsets-8, __consumer_offsets-21, __consumer_offsets-4,
__consumer_offsets-27, __consumer_offsets-7, __consumer_offsets-9, __c
onsumer_offsets-46, __consumer_offsets-25, __consumer_offsets-35,
__consumer_offsets-41, __consumer_offsets-33, __consumer_offsets-23, __con
sumer_offsets-49, output-0, __consumer_offsets-47, __consumer_offsets-16,
__consumer_offsets-28, __consumer_offsets-31, __consumer_offsets-3
6, __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, event-0, __consumer_offsets-20, __consumer_offsets-0
, __consumer_offsets-44, __consumer_offsets-39, __consumer_offsets-12, data-0,
__consumer_offsets-45, __consumer_offsets-1, __consumer_offse
ts-5, __consumer_offsets-26, __consumer_offsets-29, __consumer_offsets-34,
__consumer_offsets-10, __consumer_offsets-32, __consumer_offsets-
40 because they are in the failed log dir
C:\App\VISBridge\kafka_2.12-1.0.0\kafka-log (kafka.server.ReplicaManager)
[2018-05-11 15:17:58,146] INFO Stopping serving logs in dir
C:\App\VISBridge\kafka_2.12-1.0.0\kafka-log (kafka.log.LogManager)
[2018-05-11 15:17:58,146] FATAL Shutdown broker because all log dirs in
C:\App\VISBridge\kafka_2.12-1.0.0\kafka-log have failed (kafka.log.L
ogManager)
C:\App\VISBridge\kafka_2.12-1.0.0\bin\windows>
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)