[ https://issues.apache.org/jira/browse/KAFKA-19375?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
韩建东 updated KAFKA-19375: ------------------------ Remaining Estimate: (was: 720h) Original Estimate: (was: 720h) > Some Topic partitions on one Kafka node in the cluster service cannot be > automatically cleaned up, leading to disk space occupation > ----------------------------------------------------------------------------------------------------------------------------------- > > Key: KAFKA-19375 > URL: https://issues.apache.org/jira/browse/KAFKA-19375 > Project: Kafka > Issue Type: Bug > Components: core, log cleaner > Affects Versions: 3.5.0 > Reporter: 韩建东 > Priority: Major > > we are unable to determine the cause of this situation, but the error logs > from the faulty node process keep showing the following errors, one is log > retention, and the other is log appending > [2025-03-15 00:45:21,743] ERROR Uncaught exception in scheduled task > 'kafka-log-retention' (org.apache.kafka.server.util.KafkaScheduler) > java.nio.BufferOverflowException > at java.nio.Buffer.nextPutIndex(Buffer.java:533) > at java.nio.DirectByteBuffer.putLong(DirectByteBuffer.java:796) > at > org.apache.kafka.storage.internals.log.TimeIndex.maybeAppend(TimeIndex.java:206) > at kafka.log.LogSegment.onBecomeInactiveSegment(LogSegment.scala:527) > at kafka.log.LocalLog.$anonfun$roll$9(LocalLog.scala:531) > at kafka.log.LocalLog.$anonfun$roll$9$adapted(LocalLog.scala:531) > at scala.Option.foreach(Option.scala:407) > at kafka.log.LocalLog.$anonfun$roll$2(LocalLog.scala:531) > at kafka.log.LocalLog.roll(LocalLog.scala:713) > at kafka.log.UnifiedLog.roll(UnifiedLog.scala:1498) > at kafka.log.UnifiedLog.$anonfun$deleteSegments$2(UnifiedLog.scala:1351) > at kafka.log.UnifiedLog.deleteSegments(UnifiedLog.scala:1733) > at > kafka.log.UnifiedLog.deleteRetentionMsBreachedSegments(UnifiedLog.scala:1337) > at kafka.log.UnifiedLog.deleteOldSegments(UnifiedLog.scala:1383) > at kafka.log.LogManager.$anonfun$cleanupLogs$3(LogManager.scala:1299) > at > kafka.log.LogManager.$anonfun$cleanupLogs$3$adapted(LogManager.scala:1296) > at scala.collection.immutable.List.foreach(List.scala:431) > at kafka.log.LogManager.cleanupLogs(LogManager.scala:1296) > at > kafka.log.LogManager.$anonfun$startupWithConfigOverrides$2(LogManager.scala:594) > at > org.apache.kafka.server.util.KafkaScheduler.lambda$schedule$1(KafkaScheduler.java:150) > 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:750) > > [2025-03-15 00:47:03,726] ERROR [ReplicaManager broker=6] Error processing > append operation on partition O****DEFAULT-2 (kafka.server.ReplicaManager) > java.nio.BufferOverflowException > at java.nio.Buffer.nextPutIndex(Buffer.java:533) > at java.nio.DirectByteBuffer.putLong(DirectByteBuffer.java:796) > at > org.apache.kafka.storage.internals.log.TimeIndex.maybeAppend(TimeIndex.java:206) > at kafka.log.LogSegment.onBecomeInactiveSegment(LogSegment.scala:527) > at kafka.log.LocalLog.$anonfun$roll$9(LocalLog.scala:531) > at kafka.log.LocalLog.$anonfun$roll$9$adapted(LocalLog.scala:531) > at scala.Option.foreach(Option.scala:407) > at kafka.log.LocalLog.$anonfun$roll$2(LocalLog.scala:531) > at kafka.log.LocalLog.roll(LocalLog.scala:713) > at kafka.log.UnifiedLog.roll(UnifiedLog.scala:1498) > at kafka.log.UnifiedLog.maybeRoll(UnifiedLog.scala:1484) > at kafka.log.UnifiedLog.$anonfun$append$2(UnifiedLog.scala:824) > at kafka.log.UnifiedLog.append(UnifiedLog.scala:1733) > at kafka.log.UnifiedLog.appendAsLeader(UnifiedLog.scala:665) > at > kafka.cluster.Partition.$anonfun$appendRecordsToLeader$1(Partition.scala:1281) > at kafka.cluster.Partition.appendRecordsToLeader(Partition.scala:1269) > at > kafka.server.ReplicaManager.$anonfun$appendToLocalLog$6(ReplicaManager.scala:1026) > at > scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286) > at scala.collection.mutable.HashMap.$anonfun$foreach$1(HashMap.scala:149) > at scala.collection.mutable.HashTable.foreachEntry(HashTable.scala:237) > at scala.collection.mutable.HashTable.foreachEntry$(HashTable.scala:230) > at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:44) > at scala.collection.mutable.HashMap.foreach(HashMap.scala:149) > at scala.collection.TraversableLike.map(TraversableLike.scala:286) > at scala.collection.TraversableLike.map$(TraversableLike.scala:279) > at scala.collection.AbstractTraversable.map(Traversable.scala:108) > at kafka.server.ReplicaManager.appendToLocalLog(ReplicaManager.scala:1014) > at kafka.server.ReplicaManager.appendRecords(ReplicaManager.scala:672) > at kafka.server.KafkaApis.handleProduceRequest(KafkaApis.scala:694) > at kafka.server.KafkaApis.handle(KafkaApis.scala:180) > at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:76) > at java.lang.Thread.run(Thread.java:750) > -- This message was sent by Atlassian Jira (v8.20.10#820010)