org.apache.cassandra.db.compaction.writers

## Class SplittingSizeTieredCompactionWriter

- java.lang.Object
- - org.apache.cassandra.utils.concurrent.Transactional.AbstractTransactional
  - - org.apache.cassandra.db.compaction.writers.CompactionAwareWriter
    - - org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter

All Implemented Interfaces:
  java.lang.AutoCloseable, Transactional

    public class SplittingSizeTieredCompactionWriter
    extends CompactionAwareWriter

CompactionAwareWriter that splits input in differently sized sstables Biggest sstable will be total_compaction_size / 2, second biggest total_compaction_size / 4 etc until the result would be sub 50MB, all those are put in the same

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.cassandra.utils.concurrent.Transactional.AbstractTransactional

`Transactional.AbstractTransactional.State`

### Nested classes/interfaces inherited from interface org.apache.cassandra.utils.concurrent.Transactional

`Transactional.AbstractTransactional`

### Field Summary

Fields
`static long` `DEFAULT_SMALLEST_SSTABLE_BYTES`

### Fields inherited from class org.apache.cassandra.db.compaction.writers.CompactionAwareWriter

`cfs, estimatedTotalKeys, maxAge, minRepairedAt, nonExpiredSSTables, sstableWriter`

### Constructor Summary

Constructors
Constructor and Description
`SplittingSizeTieredCompactionWriter(ColumnFamilyStore cfs, LifecycleTransaction txn, java.util.Set<SSTableReader> nonExpiredSSTables, OperationType compactionType)`
`SplittingSizeTieredCompactionWriter(ColumnFamilyStore cfs, LifecycleTransaction txn, java.util.Set<SSTableReader> nonExpiredSSTables, OperationType compactionType, long smallestSSTable)`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `append(AbstractCompactedRow row)` Writes a row in an implementation specific way

### Methods inherited from class org.apache.cassandra.db.compaction.writers.CompactionAwareWriter

`doAbort, doCommit, doPrepare, estimatedKeys, finish, getDirectories, getWriteDirectory`

### Methods inherited from class org.apache.cassandra.utils.concurrent.Transactional.AbstractTransactional

`abort, abort, close, commit, commit, doPostCleanup, doPreCleanup, permitRedundantTransitions, prepareToCommit, state`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.cassandra.utils.concurrent.Transactional

`abort, commit, prepareToCommit`

### Methods inherited from interface java.lang.AutoCloseable

`close`

### Field Detail

#### DEFAULT_SMALLEST_SSTABLE_BYTES

    public static final long DEFAULT_SMALLEST_SSTABLE_BYTES

See Also:
  Constant Field Values

### Constructor Detail

#### SplittingSizeTieredCompactionWriter

    public SplittingSizeTieredCompactionWriter(ColumnFamilyStore cfs,
                                               LifecycleTransaction txn,
                                               java.util.Set<SSTableReader> nonExpiredSSTables,
                                               OperationType compactionType)

#### SplittingSizeTieredCompactionWriter

    public SplittingSizeTieredCompactionWriter(ColumnFamilyStore cfs,
                                               LifecycleTransaction txn,
                                               java.util.Set<SSTableReader> nonExpiredSSTables,
                                               OperationType compactionType,
                                               long smallestSSTable)

### Method Detail

#### append

    public boolean append(AbstractCompactedRow row)

Description copied from class: `CompactionAwareWriter`
Writes a row in an implementation specific way

Specified by:
  `append` in class `CompactionAwareWriter`
Parameters:
  `row` - the row to append
Returns:
  true if the row was written, false otherwise