org.apache.cassandra.db.compaction
Class SizeTieredCompactionStrategy

java.lang.Object
  extended by org.apache.cassandra.db.compaction.AbstractCompactionStrategy
      extended by org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy

public class SizeTieredCompactionStrategy
extends AbstractCompactionStrategy


Field Summary
protected static java.lang.String BUCKET_HIGH_KEY
           
protected static java.lang.String BUCKET_LOW_KEY
           
protected  double bucketHigh
           
protected  double bucketLow
           
protected static double DEFAULT_BUCKET_HIGH
           
protected static double DEFAULT_BUCKET_LOW
           
protected static long DEFAULT_MIN_SSTABLE_SIZE
           
protected  int estimatedRemainingTasks
           
protected static java.lang.String MIN_SSTABLE_SIZE_KEY
           
protected  long minSSTableSize
           
 
Fields inherited from class org.apache.cassandra.db.compaction.AbstractCompactionStrategy
cfs, DEFAULT_TOMBSTONE_COMPACTION_INTERVAL, DEFAULT_TOMBSTONE_THRESHOLD, options, TOMBSTONE_COMPACTION_INTERVAL_OPTION, TOMBSTONE_THRESHOLD_OPTION, tombstoneCompactionInterval, tombstoneThreshold
 
Constructor Summary
SizeTieredCompactionStrategy(ColumnFamilyStore cfs, java.util.Map<java.lang.String,java.lang.String> options)
           
 
Method Summary
 int getEstimatedRemainingTasks()
           
 AbstractCompactionTask getMaximalTask(int gcBefore)
           
 long getMaxSSTableSize()
           
 AbstractCompactionTask getNextBackgroundTask(int gcBefore)
           
 AbstractCompactionTask getUserDefinedTask(java.util.Collection<SSTableReader> sstables, int gcBefore)
           
 java.lang.String toString()
           
static java.util.Map<java.lang.String,java.lang.String> validateOptions(java.util.Map<java.lang.String,java.lang.String> options)
           
 
Methods inherited from class org.apache.cassandra.db.compaction.AbstractCompactionStrategy
filterSuspectSSTables, getScanners, getScanners, shutdown, worthDroppingTombstones
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_MIN_SSTABLE_SIZE

protected static final long DEFAULT_MIN_SSTABLE_SIZE
See Also:
Constant Field Values

DEFAULT_BUCKET_LOW

protected static final double DEFAULT_BUCKET_LOW
See Also:
Constant Field Values

DEFAULT_BUCKET_HIGH

protected static final double DEFAULT_BUCKET_HIGH
See Also:
Constant Field Values

MIN_SSTABLE_SIZE_KEY

protected static final java.lang.String MIN_SSTABLE_SIZE_KEY
See Also:
Constant Field Values

BUCKET_LOW_KEY

protected static final java.lang.String BUCKET_LOW_KEY
See Also:
Constant Field Values

BUCKET_HIGH_KEY

protected static final java.lang.String BUCKET_HIGH_KEY
See Also:
Constant Field Values

minSSTableSize

protected long minSSTableSize

bucketLow

protected double bucketLow

bucketHigh

protected double bucketHigh

estimatedRemainingTasks

protected volatile int estimatedRemainingTasks
Constructor Detail

SizeTieredCompactionStrategy

public SizeTieredCompactionStrategy(ColumnFamilyStore cfs,
                                    java.util.Map<java.lang.String,java.lang.String> options)
Method Detail

getNextBackgroundTask

public AbstractCompactionTask getNextBackgroundTask(int gcBefore)
Specified by:
getNextBackgroundTask in class AbstractCompactionStrategy
Parameters:
gcBefore - throw away tombstones older than this
Returns:
the next background/minor compaction task to run; null if nothing to do. Is responsible for marking its sstables as compaction-pending.

getMaximalTask

public AbstractCompactionTask getMaximalTask(int gcBefore)
Specified by:
getMaximalTask in class AbstractCompactionStrategy
Parameters:
gcBefore - throw away tombstones older than this
Returns:
a compaction task that should be run to compact this columnfamilystore as much as possible. Null if nothing to do. Is responsible for marking its sstables as compaction-pending.

getUserDefinedTask

public AbstractCompactionTask getUserDefinedTask(java.util.Collection<SSTableReader> sstables,
                                                 int gcBefore)
Specified by:
getUserDefinedTask in class AbstractCompactionStrategy
Parameters:
sstables - SSTables to compact. Must be marked as compacting.
gcBefore - throw away tombstones older than this
Returns:
a compaction task corresponding to the requested sstables. Will not be null. (Will throw if user requests an invalid compaction.) Is responsible for marking its sstables as compaction-pending.

getEstimatedRemainingTasks

public int getEstimatedRemainingTasks()
Specified by:
getEstimatedRemainingTasks in class AbstractCompactionStrategy
Returns:
the number of background tasks estimated to still be needed for this columnfamilystore

getMaxSSTableSize

public long getMaxSSTableSize()
Specified by:
getMaxSSTableSize in class AbstractCompactionStrategy
Returns:
size in bytes of the largest sstables for this strategy

validateOptions

public static java.util.Map<java.lang.String,java.lang.String> validateOptions(java.util.Map<java.lang.String,java.lang.String> options)
                                                                        throws ConfigurationException
Throws:
ConfigurationException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2013 The Apache Software Foundation