You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Maxim Vladimirskiy (JIRA)" <ji...@apache.org> on 2016/06/28 23:41:10 UTC

[jira] [Created] (KAFKA-3917) Some __consumer_offsets replicas grow way too big

Maxim Vladimirskiy created KAFKA-3917:
-----------------------------------------

             Summary: Some __consumer_offsets replicas grow way too big
                 Key: KAFKA-3917
                 URL: https://issues.apache.org/jira/browse/KAFKA-3917
             Project: Kafka
          Issue Type: Bug
          Components: core
    Affects Versions: 0.8.2.2
         Environment: Runs with Docker 1.10.1 in a container on 
Linux 3.13.0-77-generic #121-Ubuntu SMP Wed Jan 20 10:50:42 UTC 2016 x86_64
            Reporter: Maxim Vladimirskiy


We noticed that some replicas of partitions of the __consumer_offsets topic grow way too big. Looking inside respective folders it became apparent that old segments had not been cleaned up. Please see below example of disk usage data for both affected and not affected partitions:

Not affected partitions:
    Partition: 0	Leader: 2	Replicas: 2,3,4	Isr: 2,4,3
        2: 49M
        3: 49M
        4: 49M

Affected partitions:
    Partition: 10	Leader: 2	Replicas: 2,0,1	Isr: 1,2,0
        0: 86M
        1: 22G <<< too big!
        2: 86M
    Partition: 38	Leader: 0	Replicas: 0,4,1	Isr: 1,0,4
        0: 43M
        1: 26G <<<  too big!
        4: 26G <<<  too big!

As you can see sometimes only one replica is affected, sometimes both replicas are affected.

When I try to restart a broker that has affected replicas it fails to start with an exception that looks like this:

[2016-06-28 23:15:20,441] ERROR There was an error in one of the threads during logs loading: java.lang.IllegalArgumentException: requirement failed: Corrupt index found, index file (/var/kafka/__consumer_offsets-38/00000000000000000000.index) has non-zero size but the last offset is -676703869 and the base offset is 0 (kafka.log.LogManager)
[2016-06-28 23:15:20,442] FATAL [Kafka Server 1], Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
java.lang.IllegalArgumentException: requirement failed: Corrupt index found, index file (/var/kafka/__consumer_offsets-38/00000000000000000000.index) has non-zero size but the last offset is -676703869 and the base offset is 0
        at scala.Predef$.require(Predef.scala:233)
        at kafka.log.OffsetIndex.sanityCheck(OffsetIndex.scala:352)
        at kafka.log.Log$$anonfun$loadSegments$5.apply(Log.scala:184)
        at kafka.log.Log$$anonfun$loadSegments$5.apply(Log.scala:183)
        at scala.collection.Iterator$class.foreach(Iterator.scala:727)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
        at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
        at kafka.log.Log.loadSegments(Log.scala:183)
        at kafka.log.Log.<init>(Log.scala:67)
        at kafka.log.LogManager$$anonfun$loadLogs$2$$anonfun$3$$anonfun$apply$7$$anonfun$apply$1.apply$mcV$sp(LogManager.scala:142)
        at kafka.utils.Utils$$anon$1.run(Utils.scala:54)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

After the content of the affected partition is deleted broker starts successfully. 
 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)