[ 
https://issues.apache.org/jira/browse/KAFKA-1819?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14265503#comment-14265503
 ] 

Gwen Shapira commented on KAFKA-1819:
-------------------------------------

Moving the check will not always verify deletion from checkpoint file. 
The checkpoints file only exists if brokers are configured with "compact" and 
not "delete" and cleanup actually happened before topic deletion (this requires 
very small segments and writing to the topic before its deleted). Thats why 
testDeleteTopicWithCleaner is a fairly involved test with very specific broker 
configuration.  So by moving the check we will check the contents of an empty 
file most of the time.

Since the new test covers the Cleaner codepath, I'm not sure what are the 
benefits of adding the check to all tests.  Do you want to activate the Cleaner 
on every test? Or run the validation regardless of whether the cleaner was 
active?


> Cleaner gets confused about deleted and re-created topics
> ---------------------------------------------------------
>
>                 Key: KAFKA-1819
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1819
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Gian Merlino
>            Assignee: Gwen Shapira
>            Priority: Blocker
>             Fix For: 0.8.2
>
>         Attachments: KAFKA-1819.patch, KAFKA-1819_2014-12-26_13:58:44.patch, 
> KAFKA-1819_2014-12-30_16:01:19.patch
>
>
> I get an error like this after deleting a compacted topic and re-creating it. 
> I think it's because the brokers don't remove cleaning checkpoints from the 
> cleaner-offset-checkpoint file. This is from a build based off commit bd212b7.
> java.lang.IllegalArgumentException: requirement failed: Last clean offset is 
> 587607 but segment base offset is 0 for log foo-6.
>         at scala.Predef$.require(Predef.scala:233)
>         at kafka.log.Cleaner.buildOffsetMap(LogCleaner.scala:502)
>         at kafka.log.Cleaner.clean(LogCleaner.scala:300)
>         at 
> kafka.log.LogCleaner$CleanerThread.cleanOrSleep(LogCleaner.scala:214)
>         at kafka.log.LogCleaner$CleanerThread.doWork(LogCleaner.scala:192)
>         at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:60)



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

Reply via email to