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 (JIRA)" <ji...@apache.org> on 2012/10/09 00:42:02 UTC

[jira] [Created] (CASSANDRA-4778) leveled compaction does less work in L0 than intended

Jonathan Ellis created CASSANDRA-4778:
-----------------------------------------

             Summary: leveled compaction does less work in L0 than intended
                 Key: CASSANDRA-4778
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4778
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Jonathan Ellis
            Priority: Minor
         Attachments: 4778.txt

We have this code in the candidate loop:

{code}
.               if (SSTable.getTotalBytes(candidates) > maxSSTableSizeInBytes)
                {
                    // add sstables from L1 that overlap candidates
                    candidates.addAll(overlapping(candidates, generations[1]));
                    break;
                }
{code}

thus, as soon as we have enough to compact to make one L1 sstable's worth of data, we stop collecting candidates.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (CASSANDRA-4778) leveled compaction does less work in L0 than intended

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

Yuki Morishita commented on CASSANDRA-4778:
-------------------------------------------

+1
                
> leveled compaction does less work in L0 than intended
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4778
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4778
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.2
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>            Priority: Minor
>              Labels: compaction
>             Fix For: 1.1.6
>
>         Attachments: 4778.txt
>
>
> We have this code in the candidate loop:
> {code}
> .               if (SSTable.getTotalBytes(candidates) > maxSSTableSizeInBytes)
>                 {
>                     // add sstables from L1 that overlap candidates
>                     candidates.addAll(overlapping(candidates, generations[1]));
>                     break;
>                 }
> {code}
> thus, as soon as we have enough to compact to make one L1 sstable's worth of data, we stop collecting candidates.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (CASSANDRA-4778) leveled compaction does less work in L0 than intended

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

Jonathan Ellis commented on CASSANDRA-4778:
-------------------------------------------

Also added a fix in f34bd79b9a92f23c1fc5e185e074d7faa880fc0b to avoid infinite compaction on a single L0 sstable that isn't large enough to promote.
                
> leveled compaction does less work in L0 than intended
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4778
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4778
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.2
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>            Priority: Minor
>              Labels: compaction
>             Fix For: 1.1.6
>
>         Attachments: 4778.txt
>
>
> We have this code in the candidate loop:
> {code}
> .               if (SSTable.getTotalBytes(candidates) > maxSSTableSizeInBytes)
>                 {
>                     // add sstables from L1 that overlap candidates
>                     candidates.addAll(overlapping(candidates, generations[1]));
>                     break;
>                 }
> {code}
> thus, as soon as we have enough to compact to make one L1 sstable's worth of data, we stop collecting candidates.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (CASSANDRA-4778) leveled compaction does less work in L0 than intended

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

Jonathan Ellis updated CASSANDRA-4778:
--------------------------------------

    Attachment: 4778.txt

patch to move combine-with-L1 logic outside the candidates loop
                
> leveled compaction does less work in L0 than intended
> -----------------------------------------------------
>
>                 Key: CASSANDRA-4778
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4778
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jonathan Ellis
>            Priority: Minor
>              Labels: compaction
>         Attachments: 4778.txt
>
>
> We have this code in the candidate loop:
> {code}
> .               if (SSTable.getTotalBytes(candidates) > maxSSTableSizeInBytes)
>                 {
>                     // add sstables from L1 that overlap candidates
>                     candidates.addAll(overlapping(candidates, generations[1]));
>                     break;
>                 }
> {code}
> thus, as soon as we have enough to compact to make one L1 sstable's worth of data, we stop collecting candidates.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira