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

Hudson commented on CASSANDRA-1608:
-----------------------------------

Integrated in Cassandra #1050 (See 
[https://builds.apache.org/job/Cassandra/1050/])
    add LeveledCompactionStrategy (take 2)
patch by Ben Coverston; reviewed by jbellis for CASSANDRA-1608
add LeveledCompactionStrategy
patch by Ben Coverston; reviewed by jbellis for CASSANDRA-1608

jbellis : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1162223
Files : 
* /cassandra/trunk/CHANGES.txt
* /cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/CollationController.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/DataTracker.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/RowIteratorFactory.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledCompactionTask.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
* /cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTable.java
* /cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
* /cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/notifications/INotification.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/notifications/INotificationConsumer.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/notifications/SSTableAddedNotification.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/notifications/SSTableListChangedNotification.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/utils/IntervalTree/Interval.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/utils/IntervalTree/IntervalNode.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/utils/IntervalTree/IntervalTree.java
* /cassandra/trunk/test/unit/org/apache/cassandra/utils/IntervalTest.java
* /cassandra/trunk/test/unit/org/apache/cassandra/utils/IntervalTreeTest.java

jbellis : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1162217
Files : 
* /cassandra/trunk/CHANGES.txt
* /cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/CollationController.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/DataTracker.java
* /cassandra/trunk/src/java/org/apache/cassandra/db/RowIteratorFactory.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledCompactionTask.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
* /cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTable.java
* /cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
* /cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
* /cassandra/trunk/src/java/org/apache/cassandra/notifications
* 
/cassandra/trunk/src/java/org/apache/cassandra/notifications/INotification.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/notifications/INotificationConsumer.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/notifications/SSTableAddedNotification.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/notifications/SSTableListChangedNotification.java
* /cassandra/trunk/src/java/org/apache/cassandra/utils/IntervalTree
* 
/cassandra/trunk/src/java/org/apache/cassandra/utils/IntervalTree/Interval.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/utils/IntervalTree/IntervalNode.java
* 
/cassandra/trunk/src/java/org/apache/cassandra/utils/IntervalTree/IntervalTree.java
* /cassandra/trunk/test/unit/org/apache/cassandra/utils/IntervalTest.java
* /cassandra/trunk/test/unit/org/apache/cassandra/utils/IntervalTreeTest.java


> Redesigned Compaction
> ---------------------
>
>                 Key: CASSANDRA-1608
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1608
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Chris Goffinet
>            Assignee: Benjamin Coverston
>         Attachments: 1608-22082011.txt, 1608-v2.txt, 1608-v4.txt, 1608-v5.txt
>
>
> After seeing the I/O issues in CASSANDRA-1470, I've been doing some more 
> thinking on this subject that I wanted to lay out.
> I propose we redo the concept of how compaction works in Cassandra. At the 
> moment, compaction is kicked off based on a write access pattern, not read 
> access pattern. In most cases, you want the opposite. You want to be able to 
> track how well each SSTable is performing in the system. If we were to keep 
> statistics in-memory of each SSTable, prioritize them based on most accessed, 
> and bloom filter hit/miss ratios, we could intelligently group sstables that 
> are being read most often and schedule them for compaction. We could also 
> schedule lower priority maintenance on SSTable's not often accessed.
> I also propose we limit the size of each SSTable to a fix sized, that gives 
> us the ability to  better utilize our bloom filters in a predictable manner. 
> At the moment after a certain size, the bloom filters become less reliable. 
> This would also allow us to group data most accessed. Currently the size of 
> an SSTable can grow to a point where large portions of the data might not 
> actually be accessed as often.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to