You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (Commented) (JIRA)" <ji...@apache.org> on 2011/10/19 18:41:10 UTC

[jira] [Commented] (CASSANDRA-3363) Allow one leveled compaction task to kick off another

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

Sylvain Lebresne commented on CASSANDRA-3363:
---------------------------------------------

An alternative to waiting the latch before triggering the next task would be to make sure that we've released the latch before triggering that next task. I see two easy ways to do this:
  # move the submit of a next task outside of the compactionTask completely and move it in CompactionManager after the task execution. I kind of like that because I don't think triggering the next compaction should be the job of the compactionTask itself (but I'm more talking of a feeling here than anything technical).
  # have compactionTask call a protected finalize() method at the end of execute (the exact same than the submitNextTask of this patch but I'd prefer a less specific name). The leveledCompaction would only override that (i.e, it wouldn't override execute anymore) and countDown the latch there.

I think those would be less ugly, though the patch looks ok technically speaking.
                
> Allow one leveled compaction task to kick off another
> -----------------------------------------------------
>
>                 Key: CASSANDRA-3363
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3363
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 1.0.0
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>            Priority: Minor
>              Labels: compaction
>             Fix For: 1.0.1
>
>         Attachments: 3363.txt
>
>
> Leveled compaction wants to prevent multiple tasks from running at once, but this check also defeats the "kick off another compaction if there is more work to do" code in CompactionTask.  So currently LCS relies completely on the every-five-minutes compaction check, which is not enough to keep up with heavy insert load.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira