[ https://issues.apache.org/jira/browse/KAFKA-1641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14140887#comment-14140887 ]
Jon Bringhurst edited comment on KAFKA-1641 at 9/19/14 5:10 PM: ---------------------------------------------------------------- I'd just like to mention that a possible workaround (depending on your situation in regard to keys) is to stop the broker, remove the cleaner offset checkpoint, and then start the broker again for each ISR member in serial to get the thread running again. Keep in mind that the cleaner will start from the beginning if you do this. was (Author: jonbringhurst): I'd just like to mention that a possible workaround (depending on your situation) is to stop the broker, remove the cleaner offset checkpoint, and then start the broker again for each ISR member in serial to get the thread running again. Keep in mind that the cleaner will start from the beginning if you do this. > Log cleaner exits if last cleaned offset is lower than earliest offset > ---------------------------------------------------------------------- > > Key: KAFKA-1641 > URL: https://issues.apache.org/jira/browse/KAFKA-1641 > Project: Kafka > Issue Type: Bug > Affects Versions: 0.8.1.1 > Reporter: Joel Koshy > > Encountered this recently: the log cleaner exited a while ago (I think > because the topic had compressed messages). That issue was subsequently > addressed by having the producer only send uncompressed. However, on a > subsequent restart of the broker we see this: > In this scenario I think it is reasonable to just emit a warning and have the > cleaner round up its first dirty offset to the base offset of the first > segment. > {code} > [kafka-server] [] [kafka-log-cleaner-thread-0], Error due to > java.lang.IllegalArgumentException: requirement failed: Last clean offset is > 54770438 but segment base offset is 382844024 for log testtopic-0. > at scala.Predef$.require(Predef.scala:145) > at kafka.log.Cleaner.buildOffsetMap(LogCleaner.scala:491) > at kafka.log.Cleaner.clean(LogCleaner.scala:288) > at > kafka.log.LogCleaner$CleanerThread.cleanOrSleep(LogCleaner.scala:202) > at kafka.log.LogCleaner$CleanerThread.doWork(LogCleaner.scala:187) > at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:51) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)