You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Mark Figura (JIRA)" <ji...@apache.org> on 2016/12/06 17:47:58 UTC

[jira] [Created] (KAFKA-4496) LogCleaner thread exits with NoSuchElementException

Mark Figura created KAFKA-4496:
----------------------------------

             Summary: LogCleaner thread exits with NoSuchElementException
                 Key: KAFKA-4496
                 URL: https://issues.apache.org/jira/browse/KAFKA-4496
             Project: Kafka
          Issue Type: Bug
          Components: core, offset manager
    Affects Versions: 0.8.2.1
         Environment: SLES 11.3, 20 node cluster
            Reporter: Mark Figura


After running for some time (about 60 hours in this case), we are seeing the LogCleaner thread exit with the messages below. Because of this, the consumer_offsets topic grows very large over time.


[2016-12-01 20:00:44,050] INFO Cleaner 0: Building offset map for __consumer_offsets-19... (kafka.log.LogCleaner)
[2016-12-01 20:00:44,183] INFO Cleaner 0: Building offset map for log __consumer_offsets-19 for 0 segments in offset range [15698821, 0). (kafka.log.LogCleaner)
[2016-12-01 20:00:44,220] ERROR [kafka-log-cleaner-thread-0], Error due to  (kafka.log.LogCleaner)
java.util.NoSuchElementException: head of empty stream
        at scala.collection.immutable.Stream$Empty$.head(Stream.scala:1028)
        at scala.collection.immutable.Stream$Empty$.head(Stream.scala:1026)
        at kafka.log.Cleaner.buildOffsetMap(LogCleaner.scala:508)
        at kafka.log.Cleaner.clean(LogCleaner.scala:307)
        at kafka.log.LogCleaner$CleanerThread.cleanOrSleep(LogCleaner.scala:221)
        at kafka.log.LogCleaner$CleanerThread.doWork(LogCleaner.scala:199)
        at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:60)
[2016-12-01 20:00:44,221] INFO [kafka-log-cleaner-thread-0], Stopped  (kafka.log.LogCleaner)


This looks similar to some other issues (KAFKA-1641, KAFKA-2235, etc.) but does not match exactly.


Here is the server.properties:
delete.topic.enable=true
socket.send.buffer.bytes=102400
socket.request.max.bytes=104857600
log.cleaner.enable=true
log.retention.check.interval.ms=300000
zookeeper.session.timeout.ms=30000
num.io.threads=8
broker.id=0
port=9092
log.dirs=/kafka/broker_0
auto.create.topics.enable=false
num.network.threads=3
socket.receive.buffer.bytes=102400
log.retention.minutes=10
log.cleaner.delete.retention.ms=1800000
log.segment.bytes=1073741824
num.recovery.threads.per.data.dir=1
num.partitions=1
zookeeper.connection.timeout.ms=30000
zookeeper.connect=<zk servers>


...and here's what one of the consumer-offsets data directories looks like:
kafka1:/kafka/broker_0/__consumer_offsets-19 # ls -lrt
total 2611332
-rw-r--r-- 1 yarn yarn 104857433 Dec  1 23:17 00000000000000000000.log
-rw-r--r-- 1 yarn yarn    182272 Dec  1 23:17 00000000000000000000.index
-rw-r--r-- 1 yarn yarn 104857592 Dec  2 05:44 00000000000016820302.log
-rw-r--r-- 1 yarn yarn    201880 Dec  2 05:44 00000000000016820302.index
-rw-r--r-- 1 yarn yarn 104857497 Dec  2 10:18 00000000000017939487.log
-rw-r--r-- 1 yarn yarn    201464 Dec  2 10:18 00000000000017939487.index
-rw-r--r-- 1 yarn yarn 104857302 Dec  2 14:04 00000000000019061235.log
-rw-r--r-- 1 yarn yarn    201176 Dec  2 14:04 00000000000019061235.index
-rw-r--r-- 1 yarn yarn 104857594 Dec  2 17:43 00000000000020184726.log
-rw-r--r-- 1 yarn yarn    201120 Dec  2 17:43 00000000000020184726.index
-rw-r--r-- 1 yarn yarn 104857523 Dec  2 21:51 00000000000021308472.log
-rw-r--r-- 1 yarn yarn    201288 Dec  2 21:51 00000000000021308472.index
-rw-r--r-- 1 yarn yarn 104857509 Dec  3 03:20 00000000000022430910.log
-rw-r--r-- 1 yarn yarn    201600 Dec  3 03:20 00000000000022430910.index
-rw-r--r-- 1 yarn yarn 104857562 Dec  3 09:14 00000000000023551782.log
-rw-r--r-- 1 yarn yarn    201696 Dec  3 09:14 00000000000023551782.index
-rw-r--r-- 1 yarn yarn 104857526 Dec  3 13:12 00000000000024671856.log
-rw-r--r-- 1 yarn yarn    201216 Dec  3 13:12 00000000000024671856.index
-rw-r--r-- 1 yarn yarn 104857591 Dec  3 17:03 00000000000025794239.log
-rw-r--r-- 1 yarn yarn    201152 Dec  3 17:03 00000000000025794239.index
-rw-r--r-- 1 yarn yarn 104857522 Dec  3 21:17 00000000000026917212.log
-rw-r--r-- 1 yarn yarn    201336 Dec  3 21:17 00000000000026917212.index
-rw-r--r-- 1 yarn yarn 104857160 Dec  4 02:31 00000000000028039274.log
-rw-r--r-- 1 yarn yarn    201624 Dec  4 02:31 00000000000028039274.index
-rw-r--r-- 1 yarn yarn 104857524 Dec  4 08:49 00000000000029160221.log
-rw-r--r-- 1 yarn yarn    201728 Dec  4 08:49 00000000000029160221.index
-rw-r--r-- 1 yarn yarn 104857579 Dec  4 13:09 00000000000030279870.log
-rw-r--r-- 1 yarn yarn    201344 Dec  4 13:09 00000000000030279870.index
-rw-r--r-- 1 yarn yarn 104857581 Dec  4 17:10 00000000000031401545.log
-rw-r--r-- 1 yarn yarn    201320 Dec  4 17:10 00000000000031401545.index
-rw-r--r-- 1 yarn yarn 104857338 Dec  4 21:36 00000000000032523747.log
-rw-r--r-- 1 yarn yarn    201456 Dec  4 21:36 00000000000032523747.index
-rw-r--r-- 1 yarn yarn 104857579 Dec  5 03:38 00000000000033645679.log
-rw-r--r-- 1 yarn yarn    201744 Dec  5 03:38 00000000000033645679.index
-rw-r--r-- 1 yarn yarn 104857511 Dec  5 09:07 00000000000034765482.log
-rw-r--r-- 1 yarn yarn    201656 Dec  5 09:07 00000000000034765482.index
-rw-r--r-- 1 yarn yarn 104857537 Dec  5 13:00 00000000000035885509.log
-rw-r--r-- 1 yarn yarn    201224 Dec  5 13:00 00000000000035885509.index
-rw-r--r-- 1 yarn yarn 104857594 Dec  5 16:43 00000000000037008566.log
-rw-r--r-- 1 yarn yarn    201056 Dec  5 16:43 00000000000037008566.index
-rw-r--r-- 1 yarn yarn 104857407 Dec  5 20:49 00000000000038132175.log
-rw-r--r-- 1 yarn yarn    201192 Dec  5 20:49 00000000000038132175.index
-rw-r--r-- 1 yarn yarn 104857598 Dec  6 02:34 00000000000039255111.log
-rw-r--r-- 1 yarn yarn    201568 Dec  6 02:34 00000000000039255111.index
-rw-r--r-- 1 yarn yarn 104857531 Dec  6 08:30 00000000000040375848.log
-rw-r--r-- 1 yarn yarn    201736 Dec  6 08:30 00000000000040375848.index
-rw-r--r-- 1 yarn yarn 104857567 Dec  6 12:23 00000000000041495389.log
-rw-r--r-- 1 yarn yarn    201288 Dec  6 12:23 00000000000041495389.index
-rw-r--r-- 1 yarn yarn 104857542 Dec  6 16:07 00000000000042618234.log
-rw-r--r-- 1 yarn yarn    201088 Dec  6 16:07 00000000000042618234.index
-rw-r--r-- 1 yarn yarn  10485760 Dec  6 17:40 00000000000043741475.index
-rw-r--r-- 1 yarn yarn  44560223 Dec  6 17:40 00000000000043741475.log


Prior to the thread exiting, we see the compacted directories containing only about 6 files or 100MB max (as expected).



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