You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (Created) (JIRA)" <ji...@apache.org> on 2011/10/15 00:56:13 UTC

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

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
             Fix For: 1.0.1


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

        

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

Posted by "Sylvain Lebresne (Commented) (JIRA)" <ji...@apache.org>.
    [ 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

        

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

Posted by "Jonathan Ellis (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-3363?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-3363:
--------------------------------------

    Reviewer: slebresne  (was: brandon.williams)
    
> 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

        

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

Posted by "Sylvain Lebresne (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-3363?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13132751#comment-13132751 ] 

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

+1
                
> 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-v2.txt, 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

        

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

Posted by "Jonathan Ellis (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-3363?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-3363:
--------------------------------------

    Attachment: 3363.txt

Patch attached that encapsulates CT.submitNextTask and CM.getBackgroundSubmitter so LCT can override and wrap them.

Kind of ugly, open to better ideas.
                
> 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

        

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

Posted by "Jonathan Ellis (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-3363?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-3363:
--------------------------------------

    Attachment: 3363-v2.txt

v2 attached taking approach 1.
                
> 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-v2.txt, 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

        

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

Posted by "Jonathan Ellis (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-3363?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-3363:
--------------------------------------

    Reviewer: brandon.williams  (was: slebresne)
    
> 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
>
>
> 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

        

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

Posted by "Jonathan Ellis (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-3363?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis resolved CASSANDRA-3363.
---------------------------------------

    Resolution: Fixed

committed
                
> 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-v2.txt, 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