----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/15674/ -----------------------------------------------------------
(Updated Dec. 4, 2013, 6:15 p.m.) Review request for kafka. Bugs: KAFKA-1074 https://issues.apache.org/jira/browse/KAFKA-1074 Repository: kafka Description (updated) ------- Summary of the new patch: LogCleaner: *added the logic to cancel an in-progress cleaning task *made the cleaner thread a shutdownable, but not interruptible thread. Interrupting the cleaner may cause the file channel to be closed, which will fail other operations like log flushing during shutdown. LogManager: * added the logic to wait until an in-progress flushing process complete * to delete a log do (1) take the log to be deleted from log lists so that log cleaner and log flusher won't see it in the future (2) cancel any in-progress cleaning task (3) wait until any in-progress flushing process to complete (4) at this moment, we know the log won't be touched by the cleaner or the flusher any more and we can delete the whole directory synchronously. Todos: * If the overall logic looks good, we can get rid of OptimisticLockFailureException in LogCleaner too by canceling any cleaner task before truncating the log. This can be done in a follow up jira. Diffs ----- core/src/main/scala/kafka/cluster/Partition.scala 02ccc17c79b6d44c75f9bb6ca7cda8c51ae6f6fb core/src/main/scala/kafka/common/AllDoneException.scala PRE-CREATION core/src/main/scala/kafka/common/CancelledCleaningException.scala PRE-CREATION core/src/main/scala/kafka/log/Log.scala beda421b558544196379bd9ab7855cea7614e8e3 core/src/main/scala/kafka/log/LogCleaner.scala ccde2abd99d2204775e4d3e9836aca34eb6747a3 core/src/main/scala/kafka/log/LogManager.scala 81be88aa618ed5614703d45a0556b77c97290085 core/src/main/scala/kafka/server/ReplicaManager.scala f9c7c29bb96a63d6452269f46a12751daca15b62 core/src/test/scala/unit/kafka/admin/AdminTest.scala c30069e837e54fb91bf1d5b75b133282a28dedf8 core/src/test/scala/unit/kafka/log/CleanerTest.scala 5a312bf0803c1df4636e2e64ba83036a4e8e92dd Diff: https://reviews.apache.org/r/15674/diff/ Testing ------- Thanks, Jun Rao