org.apache.cassandra.db.compaction

## Class SizeTieredCompactionStrategy

- java.lang.Object
- - org.apache.cassandra.db.compaction.AbstractCompactionStrategy
  - - org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy

-     public class SizeTieredCompactionStrategy
      extends AbstractCompactionStrategy

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

    Constructors
    Constructor and Description
    `SizeTieredCompactionStrategy(ColumnFamilyStore cfs, java.util.Map<java.lang.String,java.lang.String> options)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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 © 2014 The Apache Software Foundation