-----------------------------------------------------------
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