org.apache.cassandra.db.compaction
Class CompactionController

java.lang.Object
  extended by org.apache.cassandra.db.compaction.CompactionController

public class CompactionController
extends java.lang.Object

Manage compaction options.


Field Summary
 ColumnFamilyStore cfs
           
 int gcBefore
           
 int mergeShardBefore
           
 
Constructor Summary
  CompactionController(ColumnFamilyStore cfs, java.util.Collection<SSTableReader> sstables, int gcBefore)
           
protected CompactionController(ColumnFamilyStore cfs, int maxValue)
          Constructor that subclasses may use when overriding shouldPurge to not need overlappingTree
 
Method Summary
 void close()
           
 java.lang.String getColumnFamily()
           
 AbstractCompactedRow getCompactedRow(java.util.List<SSTableIdentityIterator> rows)
           
 AbstractCompactedRow getCompactedRow(SSTableIdentityIterator row)
          convenience method for single-sstable compactions
 java.lang.String getKeyspace()
           
 void invalidateCachedRow(DecoratedKey key)
           
 void removeDeletedInCache(DecoratedKey key)
           
 boolean shouldPurge(DecoratedKey key, long maxDeletionTimestamp)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cfs

public final ColumnFamilyStore cfs

gcBefore

public final int gcBefore

mergeShardBefore

public final int mergeShardBefore
Constructor Detail

CompactionController

public CompactionController(ColumnFamilyStore cfs,
                            java.util.Collection<SSTableReader> sstables,
                            int gcBefore)

CompactionController

protected CompactionController(ColumnFamilyStore cfs,
                               int maxValue)
Constructor that subclasses may use when overriding shouldPurge to not need overlappingTree

Method Detail

getKeyspace

public java.lang.String getKeyspace()

getColumnFamily

public java.lang.String getColumnFamily()

shouldPurge

public boolean shouldPurge(DecoratedKey key,
                           long maxDeletionTimestamp)
Returns:
true if it's okay to drop tombstones for the given row, i.e., if we know all the verisons of the row are included in the compaction set

invalidateCachedRow

public void invalidateCachedRow(DecoratedKey key)

removeDeletedInCache

public void removeDeletedInCache(DecoratedKey key)

getCompactedRow

public AbstractCompactedRow getCompactedRow(java.util.List<SSTableIdentityIterator> rows)
Returns:
an AbstractCompactedRow implementation to write the merged rows in question. If there is a single source row, the data is from a current-version sstable, we don't need to purge and we aren't forcing deserialization for scrub, write it unchanged. Otherwise, we deserialize, purge tombstones, and reserialize in the latest version.

getCompactedRow

public AbstractCompactedRow getCompactedRow(SSTableIdentityIterator row)
convenience method for single-sstable compactions


close

public void close()


Copyright © 2013 The Apache Software Foundation